Отладочная проблема Netbeans 6.5 - PullRequest
0 голосов
/ 26 августа 2009

Я отлаживаю следующие строки кода


    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 Ответ

2 голосов
/ 26 августа 2009

Нельзя сравнивать объекты по значению. Это сравнение будет истинным, только если две сравниваемые ссылки относятся к одному и тому же объекту. Вместо этого используйте:

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