可能重复:
为什么这些 == 但不是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
.