【发布时间】:2015-05-28 08:06:18
【问题描述】:
这将是一个简单的问题(或者至少我认为)。我必须将 Long 对象与 long 原语进行比较。
我的代码简化了:
long primitiveLong = 285825645621;
Long objectLong = new Long(285825645621);
if(primitiveLong == objectLong.longValue()){
System.out.print("They are equals");
}
我希望它会起作用,但它没有,谁能解释我为什么?
提前致谢。
编辑
好的,我用明确的数字犯了一个错误,我会把我的代码放在这里:
long identifier = mMarkers.get(marker);
long currentId = item.getId().longValue();
if (currentId==identifier)
System.out.print("They are equals");
调试中
编辑 2
这是调试模式下的 IDE (Android Studio) 错误,我在另一个 IDE 上尝试过,它在相同的代码下运行良好。所以感谢大家的回答,但问题是另一个我无法预料的问题。
【问题讨论】:
-
代码是否进入了 if 循环,或者我们应该猜测一下你认为应该发生的事情:)
-
@ChetanKinger if 语句中应该已经输入了代码
-
它不会编译,编译时在数字末尾添加 L,那么这段代码应该可以正常工作 @ChetanKinger
if不是循环而是语句;)