对Integer对象,JVM会自动缓存-128~127范围内的值,所以所有在这个范围内的值相等的Integer对象都会共用一块内存
System.out.println(new Integer(1) == new Integer(1)); //false
System.out.println(Integer.valueOf(1) == Integer.valueOf(1)); //trueSystem.out.println(Integer.valueOf(127) == Integer.valueOf(127)); //true
System.out.println(Long.valueOf(200) == Long.valueOf(200)); //false
本文详细解析了Java中Integer对象的缓存机制,探讨了-128到127范围内Integer对象的内存复用原理,并通过具体示例对比了new Integer与Integer.valueOf的不同表现。

被折叠的 条评论
为什么被折叠?



