我正在学习Java,刚刚发现了一个微妙的事实:如果我声明两个整数数组,并使用
==
比较它们,即使两个数组拥有相同的元素,结果也是false
。这是为什么呢?难道比较不应该得到true
的结果吗?public class Why {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
System.out.println(a == b);
}
}
提前感谢您!
==
比较的是引用而非值。 - Richard J. Ross III==
运算符仍会给出正确的结果(至少对于Python来说是这样的,C#在这方面确实有其自身的缺陷)。 - Voo