1.Integer是int的包装类,int是java的基本数据类型
2.Interger的默认值是null,int默认是0
3.Integer必须实例化后才能使用,int不需要
4.new一个Integer时,实际上时一个指针指向此对象,而int时存储数据值
扩展:
Integer a = 128;
Integer b = 128;
a==b 是false,是因为Integer存储常量时,对于-128-127的值可以存储在缓存中,不然
就会new一个新的Integer对象.
a.equals(b)是true,因为比较的是内容
Integer a = 128;
int b = 128;
a==b是true,因为Integer和int比较时,会比较内容
Integer a = new Integer(127);
Integer b = new Integer(127);
a==b是false,这个因为是不同的内存地址,所以不相同
a.equals(b)就相同,因为比较的是内容
网友评论