猿问

两个对象比较

Integer a = 100;
Integer b = 100;
Integer c = 150;
Integer d = 150;
System.out.println(a == b);
System.out.println(c == d);

为什么结果是真 、假呢?为什么不是都真呢?栈内存不是可以共享吗?当再次创建相同值的对象时,不是会指向内存中已存在的相同值的吗?

fenkapian
浏览 1338回答 2
2回答

慕沐5347021

// 从这里看出,当给Integer直接赋值时,//如果在-128到127之间相等的话,它们会共用一块内存 // 而超过这个范围,则对应的Integer对象有多少个就开辟多少个

慕沐5347021

可以看下源码
随时随地看视频慕课网APP

相关分类

Java
我要回答