关于Integer自动装箱和拆箱的小知识
2015-03-10 08:50
218 查看
在自动装箱时(int 转Integer),如果int的值在-128到127之间,不会去创建一个对象,因为-128到127之间的数据早已经缓存在堆内存中了,也就是说要是发现int的值在-128到127之间,会先查找缓存里有没有这个值,如果有,那么这个引用会指向缓存里相应数据的地址。反之,如果int的值在这个区间外,则会new 一个对象出来。下面举例说明:
Integer a = 4;
Integer b = 4;
Integer c = 555;
Integer d = 555;
System.out.println(a == b); //输出为true,因为引用的都是缓存在堆里的同一数据的地址
System.out.println(c == d);//输出为false,因为555不在缓存堆里,所以会创建对象出来,此时两个不同的地址都指向555
9501
Integer a = 4;
Integer b = 4;
Integer c = 555;
Integer d = 555;
System.out.println(a == b); //输出为true,因为引用的都是缓存在堆里的同一数据的地址
System.out.println(c == d);//输出为false,因为555不在缓存堆里,所以会创建对象出来,此时两个不同的地址都指向555
9501
相关文章推荐
- 关于自动装箱 与自动 和自动拆箱。Integer,Boolean等
- 黑马程序员:关于JAVA中的自动装箱拆箱
- Integer自动拆箱、自动装箱
- Java 包装类 自动装箱和拆箱--Integer
- 初学者对自动装箱和自动拆箱的认识(IntegerCache的缓存数组)
- Integer的自动装箱与自动拆箱注意事项
- Integer的自动拆箱装箱陷阱
- Integer的自动装箱与拆箱
- Java包装类、自动装箱与拆箱知识总结
- Integer自动装箱、自动拆箱
- JavaSE8基础 Integer与int自动转换 自动装箱与拆箱
- 黑马成员---StringBuffer,StringBuilder,Integer,自动装箱和拆箱,正则表达式:匹配,切割,替换,查找
- Java基础知识强化66:基本类型包装类之JDK5新特性自动装箱和拆箱
- Integer.valueOf(int i)与自动拆箱与装箱
- 由自动装箱和拆箱引发我看Integer源码
- Integer自动装箱、拆箱问题(转)
- Integer自动装箱拆箱bug,创建对象在-128到127
- Integer自动装箱拆箱
- 巧记Integer int 自动装箱与拆箱
- 由自动装箱和拆箱引发我看Integer源码