为什么 2 Long 变量在 Java 中不等于 == 运算符?
2022-09-01 10:31:47
当我尝试比较2个Long变量时,我遇到了一个非常奇怪的问题,它们总是显示false,我可以通过在Eclipse中调试来确保它们具有相同的数字值:
if (user.getId() == admin.getId()) {
return true; // Always enter here
} else {
return false;
}
以上 2 个返回值都是对象类型的 Long,这让我感到困惑。为了验证我写了一个像这样的主要方法:
Long id1 = 123L;
Long id2 = 123L;
System.out.println(id1 == id2);
它打印真实。
所以有人可以给我一些想法吗?我已经在Java开发领域工作了3年,但无法解释这种情况。