我正在执行以下代码得到了一些令人惊讶的结果
class Test {
public static void main(String[] args) {
Short i = 122, j = 122;
if (i == j) {
System.out.println("true");
} else {
System.out.println("false");
}
}
}
和
class Test {
public static void main(String[] args) {
Short i = 1222, j = 1222;
if (i == j) {
System.out.println("true");
} else {
System.out.println("false");
}
}
}
当我执行这些代码时,第一个代码给出true
输出,而第二个代码给出false
输出。我知道当我们使用它比较对象时,==
它不会寻找实际值,而只是比较引用。但在第一种情况下,它会比较值,而在第二个代码中则不会。