我想使用if
条件比较两个Long对象的值。当这些值小于128时,if
条件可以正常工作,但当它们大于或等于128时,比较失败。
示例:
Long num1 = 127;
Long num2 = 127;
if (num1 == num2) {
// Works ok
}
上面的代码比较正常,但下面的代码失败了:
Long num1 = 128;
Long num2 = 128;
if (num1 == num2) {
// Does NOT work
}
为什么使用值大于127的Long变量进行比较会出现问题?如果将变量的数据类型更改为long基元,则可以在所有情况下进行比较。
.longValue()
的返回值。 - Giulio Franco