Java: java.lang.NullPointerException в booleanValue () - PullRequest
1 голос
/ 22 июня 2010

У меня есть функция foo (), которая возвращает true / false / null.

У меня есть этот фрагмент кода:

Boolean flag = foo();
if (flag != null){
.....
}

При проверке оператора if я получаюследующее исключение: java.lang.NullPointerException at booleanValue()

Кажется, что он пытается оценить свое примитивное значение и сравнить его.Тем не менее, это то, что я не хочу этого делать.Я хочу проверить, инициализирован ли он ...

Есть идеи?

Спасибо

Ответы [ 2 ]

3 голосов
/ 22 июня 2010
    Boolean flag = null;
    if (flag != null){
        System.out.println("BLuh");
    }

Этот код работает нормально, поэтому проблема определенно в другом месте.

2 голосов
/ 22 июня 2010

Ошибка указывает, что происходит что-то подобное:

Boolean iAmNothing = null;
boolean crash = iAmNothing.booleanValue(); // throws NPE

или с исходящими сообщениями (Java 1.5 +):

Boolean iAmNothing = null;
boolean crash = iAmNothing;                // throws NPE

Фрагмент кода не показывает ни одну из этих проблем, поэтомуNPE либо встречается в другом месте внутри блока за оператором if, либо, возможно, вы не используете SUN jdk, а другой с другим поведением!?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...