Netbeans 6.5调试问题

时间:2009-08-26 07:38:28

标签: java debugging netbeans6.5

我正在调试以下代码行


    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开始,下一个步骤将转到

var4.add(var);

,下一步结算转到var4.add(var);

这是一个Netbeans错误吗?或者是Long比较。

我正在使用 Netbeans IDE 6.5

1 个答案:

答案 0 :(得分:2)

您无法按值比较对象。如果比较的两个引用引用相同的对象,那么该比较才会成立。而是使用:

if (! var.getvar2().equals(var3)) {
   ...
}