Netbeans questão 6.5 debug
-
20-09-2019 - |
Pergunta
Eu estou depurando as seguintes linhas de código
if (var.getvar2() != var3) {
var4.add(var);
} else {
isNeeded= true;
if (incomingPublishedDate.compare(modifiedDate) < 0) {
importNeeded = true;
} else {
var4.add(var);
}
}
Aqui var.getvar2()
e var3
são do tipo Long
.
Durante a depuração, quando a condição é assim
10000 != 10000
o if
deve avaliar a false
. Mas desde o primeiro if
, o próximo Step Over vai para
var4.add(var);
E o próximo passo Durante vai para var4.add(var);
Este é um bug Netbeans? Ou é com a comparação Long
.
Eu estou usando Netbeans IDE 6.5
Solução
Você não pode comparar objetos de valor. Essa comparação só seria verdade se as duas referências em comparação referem-se ao mesmo objeto. Em vez disso use:
if (! var.getvar2().equals(var3)) {
...
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow