拆装箱
来源:互联网 发布:抓娃娃机 知乎 编辑:程序博客网 时间:2024/05/01 01:29
自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成double,等等。反之就是自动拆箱。
1、基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再进行比较,因此Integer(0)会自动拆箱为int类型再进行比较,显然返回true;
2、两个Integer类型进行“==”比较,如果其值在-128至127,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关,这里不进行赘述。
3、两个基本型的封装型进行equals()比较,首先equals()会比较类型,如果类型相同,则继续比较值,如果值也相同,返回true
4、基本型封装类型调用equals(),但是参数是基本类型,这时候,先会进行自动装箱,基本型转换为其封装类型,再进行3中的比较。
int a=257;
Integer b=257;
Integer c=257;
Integer b2=57;
Integer c2=57;
System.out.println(a==b);
//System.out.println(a.equals(b)); 编译出错,基本型不能调用equals()
System.out.println(b.equals(257.0));
System.out.println(b==c);
System.out.println(b2==c2);
因此上面的代码的结果因此为 true, false, false, true
下列 java 程序输出结果为______。
1
2
3
4
int
i=
0
;
Integer j =
new
Integer(
0
);
System.out.println(i==j);
System.out.println(j.equals(i));
i==j ,这个是基本类型与 Integer 的比较, j 会自动拆箱成 int 类型,然后比较的是值。因此返回真。
j.equals(i) ,调用 equals 方法后,这个 i 会自动装箱成 Integer 类型,然后再比较值,所以也返回真。
0 0
- 拆装箱
- 拆装箱
- java 自动拆装箱
- java 自动拆装箱
- Java自动拆装箱
- 自动拆装箱
- 自动拆装箱
- JAVA自动拆装箱
- 自动拆装箱
- java自动拆装箱
- 自动拆装箱
- 什么是自动拆装箱
- Java拆装箱问题
- 自动拆装箱
- Integer自动拆装箱
- javawebday12(枚举 拆装箱 )
- Java 自动拆装箱
- Java自动拆装箱
- VS Code 使用
- Spring-04--Spring属性配置细节
- 17.03.11 异常处理
- ONVIF
- 产品经理类
- 拆装箱
- java web项目部署到tomcat服务器(一般步骤和自己所犯错误的总结)————高手忽略
- Ubuntu16.04任务栏与启动器消失
- leetcode240. Search a 2D Matrix II
- 利用java.nio.charset.CharsetDecoder自动识别字符集
- Windows环境下mysql 5.7.16安装
- CODEVS 2845 排序的代价
- PADS Layout转Gerber
- python初学者学习笔记(一)简单的爬虫