【发布时间】:2013-09-17 13:15:53
【问题描述】:
我在 Java (JDK 1.7) 中偶然发现了这一点:
Integer a = 100;
Integer b = 100;
Integer c = 1000;
Integer d = 1000;
System.out.println(a == b); //true
System.out.println(c == d); //false
System.out.println(new Integer(100) == new Integer(100)); //false
System.out.println(new Integer(1000) == new Integer(1000)); //false
输出是: 真的 错误的 错误的 假的
为什么 a==b 的计算结果为真?这是什么原因?这和字符串内化类似吗?
【问题讨论】:
标签: java integer autoboxing