JAVA 自动装箱与拆箱
来源:互联网 发布:淘宝女主角药妆店假货 编辑:程序博客网 时间:2024/04/19 23:39
转载:http://blog.csdn.net/jairuschan/article/details/7513045
自动装箱定义:
将基础类型传给其相应的封装类,便是自动装箱;
</pre><pre name="code" class="java">Integer i = 100;
自动拆箱定义:
将Integer 类型的对象赋值给其相应原始数据类型的变量;
Integer integer = 100;int i = integer;
拆箱就是调用了 integer 的 intValue()方法;
扩展:
- Integer integer400=400;
- int int400=400;
- System.out.println(integer400==int400); ==> true
实现了自动拆箱;
- Integer integer100=100;
- int int100=100;
- System.out.println(integer100.equals(int100));
陷阱:
1.
- Integer integer100=null;
- int int100=integer100;
这两行代码是完全合法的,完全能够通过编译的,但是在运行时,就会抛出空指针异常。其中,integer100为Integer类型的对象,它当然可以指向null。但在第二行时,就会对integer100进行拆箱,也就是对一个null对象执行intValue()方法,当然会抛出空指针异常。所以,有拆箱操作时一定要特别注意封装类对象是否为null。
2.- Integer i1=100;
- Integer i2=100;
- Integer i3=300;
- Integer i4=300;
- System.out.println(i1==i2);
- System.out.println(i3==i4);
因为i1、i2、i3、i4都是Integer类型的,所以我们想,运行结果应该都是false。但是,真实的运行结果为“System.out.println(i1==i2);”为 true,但是“System.out.println(i3==i4);”为false。也就意味着,i1与i2这两个Integer类型的引用指向了同一个对象,而i3与i4指向了不同的对象。
Integer.valueOf(int i)中有限制; 0 0
- Java自动装箱与自动拆箱
- java-自动装箱与自动拆箱
- JAVA自动装箱与拆箱
- java的自动装箱与拆箱
- java自动装箱与拆箱
- Java 自动装箱与拆箱
- java 自动拆箱与装箱
- Java 自动装箱与拆箱
- Java 自动装箱与拆箱
- java 自动装箱与拆箱
- Java自动装箱与拆箱题目
- java自动装箱与拆箱
- Java 自动装箱与拆箱
- Java 自动装箱与拆箱
- java 自动装箱与拆箱
- JAVA 自动装箱与拆箱
- Java 自动装箱与拆箱
- java自动装箱与拆箱
- Mysql忘记root密码
- 宽待别人.善待自己
- Android中 LogCat 信息消失
- 批处理延时启动小全
- 关于D3DPOOL_SYSTEMMEM和D3DPOOL_DEFAULT,D3DPOOL_MANAGED(2
- JAVA 自动装箱与拆箱
- Max Sum http://acm.hdu.edu.cn/showproblem.php?pid=1003
- WPS中删除表格的左右边框
- C#各种扩展名文件存入sql server数据库及读取到本地文件
- 32位系统安装64位虚拟机
- 为何OpenWrt能在这十年里脱颖而出?
- 套接字基础
- 和小白一起学ABAP – 10 SAP程序设计之 ABAP基础
- KVC 的运算 计算对象属性的和.平局值.最大值 最小值等