3

可能重复:
为什么这些 == 但不是equals()

我知道在Java中,“==”用于比较引用而不是值,而“等于”用于比较值。

那么如果

int a=100;
int b=100;
boolean c=(a==b);

那么c会是假的吗?但是我记得在我之前的项目中,好像是真的....

4

4 回答 4

8

c 是正确的,因为您正在比较原语,而不是引用。== 按值比较基元(因为值就是你所拥有的)。

于 2012-09-20T20:25:30.697 回答
3

Using==适用于所有原始数据类型来比较值,因为原始数据不包含引用。相反,对象包含对象引用,因此 using 会==比较它们。

100 的 int 值确实等于 100,所以c是真的。

于 2012-09-20T20:27:40.337 回答
1

c 将是true因为ab是原语并且它们的值是相同的。

于 2012-09-20T20:26:10.917 回答
1

Integersvalue types。所以在这种情况下,它只是比较值,所以c将是true.

于 2012-09-20T20:26:41.983 回答