Проблема отладки Netbeans 6.5
-
20-09-2019 - |
Вопрос
Я отлаживаю следующие строки кода
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
Решение
Вы не можете сравнивать объекты по значению.Это сравнение будет верным только в том случае, если две сравниваемые ссылки относятся к одному и тому же объекту.Вместо этого используйте:
if (! var.getvar2().equals(var3)) {
...
}
Не связан с StackOverflow