可能重复:
为什么这些 == 但不是equals()?
我知道在Java中,“==”用于比较引用而不是值,而“等于”用于比较值。
那么如果
int a=100;
int b=100;
boolean c=(a==b);
那么c会是假的吗?但是我记得在我之前的项目中,好像是真的....
可能重复:
为什么这些 == 但不是equals()?
我知道在Java中,“==”用于比较引用而不是值,而“等于”用于比较值。
那么如果
int a=100;
int b=100;
boolean c=(a==b);
那么c会是假的吗?但是我记得在我之前的项目中,好像是真的....
c 是正确的,因为您正在比较原语,而不是引用。== 按值比较基元(因为值就是你所拥有的)。
Using==适用于所有原始数据类型来比较值,因为原始数据不包含引用。相反,对象包含对象引用,因此 using 会==比较它们。
100 的 int 值确实等于 100,所以c是真的。
c 将是true因为a和b是原语并且它们的值是相同的。
Integers是value types。所以在这种情况下,它只是比较值,所以c将是true.