java 语法糖之 -----------自动装箱、拆箱
一、 示例代码 @Test public void test3(){ int i=1; int j=i++; if( i==(++j)&&( i++) == j){ i+=j; } System.out.println("i'"+ i); } 结果如下: 5 结果为什么会是这样呢? 仔细看来 二、 自动装箱、拆箱 定义 自动装箱,在编译之后被转化成了对应的包装方法,Integer.valueOf(); Integer i =1 ; 在编译中被执行: Integer i= Integer.valueOf(int i) ; 拆箱 ,在编译之后被转化成了对应的还原方法, Integer.intValue()方法。 int j = i++; 在编译中执行 拆箱 , int j = Integer.inValue(i); 示例,调用了拆箱,java虚拟机中常量池包括有Integer型常量池,用一个表存储,具体信息如下: 存储的范围值默认是 -128~127, 故如果Interger指向的是这个范围内的数字在编译的时候会直接指向常量池中的对象; 三、 通过两种方法,比较地址是否相同...