NetBeans 6.5 question de débogage
-
20-09-2019 - |
Question
Je débogage les lignes de code ci-dessous
if (var.getvar2() != var3) {
var4.add(var);
} else {
isNeeded= true;
if (incomingPublishedDate.compare(modifiedDate) < 0) {
importNeeded = true;
} else {
var4.add(var);
}
}
Ici var.getvar2()
et var3
sont de type Long
.
Lors du débogage, lorsque la condition va comme
10000 != 10000
le if
doit évaluer à false
. Mais dès la première if
, l'étape suivante Plus va
var4.add(var);
et l'étape suivante Plus va var4.add(var);
Est-ce un bug Netbeans? Ou est-ce avec le comparision de Long
.
J'utilise Netbeans IDE 6.5
La solution
Vous ne pouvez pas comparer des objets par valeur. Cette comparaison ne serait vrai que si les deux références comparées font référence au même objet. Au lieu d'utiliser:
if (! var.getvar2().equals(var3)) {
...
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow