2012-04-25 1 views
1

Почему FindBugs вызывает у меня следующее предупреждение: Possible null pointer dereference.Почему появляется предупреждение «Возможное отклонение указателя на указатель мыши»?

current = myService.getCategoryParent(current); 
if (current != null) { // The warning appears here 

Я не понимаю, как тестирование переменной против нуля может разыменовать ее.

+3

Какой тип тока? –

+0

@MichaelBorgwardt Это нестандартный класс 'Category' –

+0

Используется ли вообще всякий раз после/вне этого if-statement? – BeRecursive

ответ

2

Я подозреваю, что ошибка/предупреждение на самом деле находится на линии выше указанная вами линия.

//     here ------------v 
current = myService.getCategoryParent(current); 
if (current != null) { 
+0

Sonar сообщает о предупреждении на второй строке, но я добавил строку выше, чтобы быть уверенным, потому что у меня также есть сомнения ... Если это так, то какое предупреждение быть примерно? –

+0

@Matthieu: Предположительно, он обеспокоен тем, что 'getCategoryParent' собирается разыменовать аргумент, переданный в? У 'getCategoryParent' есть'! Null' чек? –

+0

Да, есть проверка '! = Null'. Однако 'getCategoryParent' может возвращать' null', может это так? –