首先int和Integer是不一样的。
1、int是基本数据类型,Integer是包装类,
2、int则是直接存储数据值 ,Integer是对象的引用,(它有自己的内置方法)
3、Integer的默认值是null,int的默认值是0。
4、Integer 有缓存Integer[] cache [-128~127],当赋值不在这个范围相当于new对象了,否则是 常量池中的数字。
运行结果:
a = b
c != d
int a = 10;
Integer b = 10; //隐式加包
Integer c = Integer.valueOf(10) //显式加包 内部调用的方法:Integer.valueOf()
int d = c //隐式拆包
int e = c.intValue(); //显式拆包 内部调用的方法Integer.intValue()
基本数据类型的 包装类型 类似的有Double(double) 等。