请有人解释一下,为什么答案是真的和错误的
public class IntegerTest {
public static void main(String[] args) {
Integer x = 1000;
long y = 1000;
Integer z = 1000;
System.out.println(x == y);
System.out.println(x == z);
}
}
Run Code Online (Sandbox Code Playgroud)
x == y是一个值比较(因为y是一个基本类型),所以1000 == 1000 - > true.
x == z是对象引用比较 - 对象x不是对象z.它们具有相同的值,但它们仍然是两个完全不同的对象.所以,如果你比较它们,你会得到false.
JLS第5.1.7节中的装箱和拆箱转换.
| 归档时间: |
|
| 查看次数: |
917 次 |
| 最近记录: |