博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《JAVA 程序员面试宝典(第四版)》之JAVA程序设计基础概念(1)类型转换
阅读量:5994 次
发布时间:2019-06-20

本文共 781 字,大约阅读时间需要 2 分钟。

     问题主题:类型转换

     书页号码:37页

     题目:

      讨论点:答案不是D,应该是B

      理由:看下面在编译器输入的结果

      

      知识扩展:装箱与拆箱, == 与 equals 区别

        之前也老是听说什么装箱、拆箱之类的(装你妹的箱,JAVA概念就是多),之前不太留意,后来查了一下资料、所谓的装箱与拆箱主要是因为JAVA里面每一种基础类型都有相对应的对象类型,你比如基础类型 int 对应的是Integer,long 对应 Long,double 对应 Double 等等,为什么每种基础类型都有相对应的对象类型呢?我想主要是为了操作方便,既然说是对象类型,那当然里面就会有各种各样的方法供使用,比如你想在基础类型之间做相互转化你就可以先将基础类型变成对应对象类型,然后再通过这个对象类型提供的方法进行转化,如下面的例子:

       

那到底什么是装箱和拆箱呢,装箱就是从基础类型变成对应的对象类型后编译器会执行装箱操作,反之则是拆箱,就是这么easy。下面一篇博客是专门介绍JAVA装箱与拆箱的与大家分享一下

          == 与 equals 我几乎每天都在用,在此之前我也没有太在意这里面的区别,后来查了一下资料,== 会根据场合来决定到底比较的是什么,是比较值还是比较对象内存地址呢。而equals 如果你看了这个equals的实现方法,你会发现它首先比较的是对象内存地址,假如内存地址相等就立马返回,如果内存地址不相等然后就比较实体,实体相等就返回,如果实体不相等最后才比较值。关于这一块我得到的结论是如果是比较两个基础类型的对象类型时最好用equals,原因是因为会出现如下现象:

 

      好了就写到这里了,我要一个人去吃饭了,然后去洗个头搞搞发型,回来练练声乐之类的。有说得不对的地方忘指正,谢谢了。            

转载于:https://www.cnblogs.com/pangjia/p/4986384.html

你可能感兴趣的文章
Silverlight C# 游戏开发:高深莫测却浅显易懂的游戏开发
查看>>
AI将如何改变广告业,这里有三个计算机视觉应用案例
查看>>
标准ACL+扩展ACL+命名ACL
查看>>
Apache2.4.1编译安装报错解决
查看>>
Linux常用的基本命令14
查看>>
《zabbix进程组成结构与zabbix_agentd.conf配置文件参数详解》-3
查看>>
8-22学习练习[一个viewController整合增删移动功能]
查看>>
MySQL的字符集
查看>>
Nginx+Tomcat实现反向代理及动静分离
查看>>
Linux进程管理优化及性能评估工具介绍
查看>>
网络服务器应用深入实践(第2版)
查看>>
javascript计算器小程序
查看>>
python 列表
查看>>
ORACLE 10G 配置OEM/DB CONSOLE
查看>>
网路岗 - Cisco 交换机端口镜像配置图解
查看>>
Swift开发笔记2.浅谈闭包
查看>>
Exchange2013与Office365做Exchange Online混合部署(五)之迁移邮箱
查看>>
JAVA按顺序播放多个wav音频
查看>>
Oracle DataBase单实例使用ASM案例(4)--AIX系统Oracle 10g应用
查看>>
Linux流量监控工具 - iftop
查看>>