int是一个基本数据类型,它接收的是整数。
Integer可以将字符串转换成整数,然后将值赋给int接收 如下代码
int num = Integer.parseInt("3");
Integer可以将基本数据类型自动拆箱与装箱
//这是将一个基本数据类型自动装箱,然后赋给了这个Integer对象 Integer num =1; //这个是拆箱。首先,num是一个Integer对象,它不支持加法运算。 //它必须转换成基本整数类型然后再进行加法运算。 System.out.println(num+12); Integer i3= 128; Integeri4 = 128; System.out.println(i3==i4);//false /* 两个数值为什么又不相等了呢? * IntegerCache将-128~127之间的数值对象进行了缓存。《这样可以节省内存》 * 如果装箱的数值在该范围内,它并不创建一个新对象,而是返回一个缓存中已有对象。 * 所以值为13时,正好在该范围内,i1和i2引用的是同一个对象。 * 值为128时,在该范围以外,i3和i4引用的是不同对象。*/ 这是一种模式叫做《享元模式》
|