Как проверить, является ли параметр нулевым - PullRequest
1 голос
/ 16 февраля 2012

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

Ниже указан мертвый код:

    } else if(x == null){
        throw new NullPointerException("Parameter is null");
    }

Как мне переписать его, чтобы получитьжелаемый эффект?

Ответы [ 3 ]

2 голосов
/ 16 февраля 2012

Использовать дескриптор в буквальном смысле слова Java

Foo foo = bar.couldReturnNull();
try {
   foo.doSomething();
} catch (NullPointerException e) {
   System.out.println("bar.couldReturnNull() returned null");
   throw new NullPointerException();
}
2 голосов
/ 16 февраля 2012

В Java вы можете сравнить со значением null.Стандартный способ сделать это следующим образом:

String s = null;
if(s == null)
{  
    //handle null
}  

Обычно бросание NPE - плохая практика в реальном мире.

1 голос
/ 16 февраля 2012

Вы не говорите явно, но это похоже на Java из-за исключения NullPointerException.Да, вы можете сравнить ссылку на объект с нулем, и поэтому этот код в порядке.Вы можете смешивать его с SQL, где ничто не сравнится с нулем.

...