Frage

Ich bin Debuggen die folgenden Zeilen Code


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

Hier var.getvar2() und var3 sind vom Typ Long. Während das Debuggen, wenn die Bedingung lautet wie

10000 != 10000

sollte die if zu false bewerten. Aber von dem ersten if, geht der nächste Schritt über

var4.add(var);

und der nächste Schritt Over geht an var4.add(var);

Ist das ein Netbeans Bug? Oder ist es mit dem Long Vergleich.

Ich bin mit Netbeans IDE 6.5

War es hilfreich?

Lösung

Sie können nicht vergleichen Objekte von Wert. Dieser Vergleich wäre nur der Fall, wenn die beiden Verweise auf dasselbe Objekt verweisen verglichen. Statt Verwendung:

if (! var.getvar2().equals(var3)) {
   ...
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top