2015-10-23 8 views
-5

У меня есть method, который имеет Booleanparameter, как:Что делать, если (null) заявление возвращается в Java?

public void method(Boolean parameter){ 
... 
} 

Могу ли я просто использовать if(parameter), чтобы определить логику? Что делать, если parameter является null?

+5

вы можете попробовать сами (кстати, ваш метод 'должен иметь тип возврата). – SomeJavaGuy

+0

@KevinEsche Извините – Al2O3

ответ

3

Компилятор превратит ваш

if (parameter) 

в

if (parameter.booleanValue()) 

с помощью авто-распаковка. Так что вам следует рассказать, что произойдет с null (a NullPointerException, как и в любое другое время, когда вы вызываете метод на null).

0

Изменить тип данных с Boolean по boolean. boolean - примитивный тип данных и не может быть нулевым.

+2

Предположительно, существует некоторая * причина * для использования 'Boolean' вместо' boolean'. –

+2

И 'Boolean' является классом-оболочкой для' boolean' и может быть нулевым. – SomeJavaGuy

+0

Возможно, но у OP также нет типа возврата для его метода. Можно предположить, что они в любом случае относительно новы для Java, и, возможно, даже не знают разницы. –

2

Если вы пробовали, вы бы увидеть NullPointerException

Но Boolean.equals(Object) Javadoc действительно начинает

Возвращает true, если и только если аргумент не null и является логическим объектом, представляет собой то же логическое значение, что и этот объект.

(курсив мой)

Таким образом, вы могли бы сделать

if (Boolean.TRUE.equals(parameter)) { 
    System.out.println("true"); 
} else { 
    System.out.println("false"); 
} 

который я считаю, будет обрабатывать ваши null дело.

 Смежные вопросы

  • Нет связанных вопросов^_^