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