0

我正在调试以下代码行


    if (var.getvar2() != var3) {
           var4.add(var);
    } else {
           isNeeded= true;
           if (incomingPublishedDate.compare(modifiedDate) < 0) {
               importNeeded = true;
           } else {
               var4.add(var);
           }
   }

这里var.getvar2()var3属于 类型Long。在调试时,当情况像

10000 != 10000

if应该评估为false。但是从第一个开始if,下一个 Step Over 到

var4.add(var);

下一个 Step Over 转到var4.add(var);

这是 Netbeans 的错误吗?还是Long对比一下。

我正在使用Netbeans IDE 6.5

4

1 回答 1

2

您不能按值比较对象。只有当比较的两个引用指向同一个对象时,这种比较才会成立。而是使用:

if (! var.getvar2().equals(var3)) {
   ...
}
于 2009-08-26T07:43:13.043 回答