int 和Integer(自动拆装箱)

Integer是int的封装类,int与Integer比较时,Integer会自动拆箱,无论怎么比,int与Integer都相等,

Integer比较时,查看java源代码可知道,在-128与127之间,Integer会自动存在内存中,再有时,直接从内存中去取,不在这个范围则会new新对象,所以Integer与new Integer永远都不相等。

Integer a = 128;
Integer b = 128;
int c = 128;

System.out.println(a == b);   //false
System.out.println(a.equals(c));    //true

 

posted @ 2022-09-20 00:55  帆のBlog  阅读(88)  评论(0)    收藏  举报