java Integer类以及拆箱和装箱

Posted 得意莫骄傲,失意莫沮丧。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Integer类以及拆箱和装箱相关的知识,希望对你有一定的参考价值。


package
com.ilaw.boson.controller; public class Demo { public static void main(String[] args) { Integer a = new Integer(2000); int b =2000; Integer c =b; System.out.println(a == b);//true,Integer和int进行操作的时候,对a进行拆箱处理 System.out.println(b == c);//true,Integer和int进行操作的时候,对c进行拆箱处理 System.out.println(a == c);//false,b进行赋值时,装箱时会调用Integer.valueOf方法对a进行装箱 a = new Integer(10); c =10; System.out.println(a == c);//false,进行行装箱操作时,会调用Integer.valueOf方法,本质两个对象对比 a=10; System.out.println(a == c);//true,两个对象都是通过装箱操来构造的,即通过Integer.valueOf方法,则如果值在-128-127之间,会从IntegerCache中取 /** * 总结: * 1.Integer和int进行操作的时候,对Integer对象进行拆箱处理 * 2.通过new的方式创建Integer对象的地址时不同的 * 3.通过Integer a=10;的方式赋值的时候会进行装箱,装箱会调用Integer的valueOf方法 * 4.Integer内部会通过IntegerCache对象来存储常用的-128-127之间Integer对象,在装箱时会返回IntegerChache的对象 * */ //说明,Integer类型和int类型进行操作(相等,相加)的时候会进行拆箱操作 } }

 

 


 总结:
 1.Integer和int进行操作的时候,对Integer对象进行拆箱处理
 2.通过new的方式创建Integer对象的地址时不同的
 3.通过Integer a=10;的方式赋值的时候会进行装箱,装箱会调用Integer的valueOf方法
 4.Integer内部会通过IntegerCache对象来存储常用的-128-127之间Integer对象,在装箱时会返回IntegerChache的对象

以上是关于java Integer类以及拆箱和装箱的主要内容,如果未能解决你的问题,请参考以下文章

Java中的拆箱和装箱

Java中的拆箱和装箱

11自动拆箱和装箱

拆箱和装箱遇到的问题

拆箱和装箱(有了基本数据类型为什么还需要包装类)

java 1.5 自动拆箱和装箱的注意事项