Что, если (нуль) оператор вернется в Java?
У меня есть method
который имеет Boolean
parameter
, лайк:
public void method(Boolean parameter){
...
}
Могу ли я просто использовать if(parameter)
определить логику? Что, если parameter
является null
?
3 ответа
Компилятор превратит ваш
if (parameter)
в
if (parameter.booleanValue())
через авто-распаковку. Так что это должно сказать вам, что будет с null
(а NullPointerException
как и в любой другой раз, когда вы вызываете метод null
).
Если бы вы попробовали это, вы бы увидели NullPointerException
Но Boolean.equals(Object)
Javadoc действительно начинается
Возвращает
true
если и только если аргумент неnull
и является логическим объектом, который представляет то же логическое значение, что и этот объект.
(мой акцент)
Так что вы могли бы сделать
if (Boolean.TRUE.equals(parameter)) {
System.out.println("true");
} else {
System.out.println("false");
}
который я считаю, справится с вашим null
дело.
Измените тип данных с Boolean
в boolean
, boolean
является примитивным типом данных и не может быть нулевым.