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