2016-07-13 8 views
1

Я использую @NotNull аннотацию, , как вы можете видеть, я использую:NPE проверены StringUtils.isNotBlank до сих пор вызывает затмение @NotNull предупреждение

StringUtils.isNotBlank()

для проверки NP, но у меня есть еще предупреждение Eclipse. Если я использую

oldlink! = NULL

это обыкновение показывать предупреждения.

Кто-нибудь знает, что может быть проблемой при использовании apache commons StringUtils?

NPE warning

+0

Там нет никаких проблем. Когда вы используете сравнение ''! = Null', компилятор видит, что вы проверяете значение null. Когда вы используете вызов некоторого метода, такого как 'isNotBlank()' ', компилятор не знает, что этот метод также проверяет значение null. Вот почему вы все еще получаете предупреждение. Но это предупреждение компилятора, и вы можете просто игнорировать его. – f1sh

+1

У меня есть аналогичная проблема с Apache 'CollectionUtils.isNotEmpty()' в IntelliJ IDEA 13. Он показал потенциальный NPE, хотя этот метод проверяет его. И я думаю, что более поздняя версия IDEA не делает этого и фактически рассматривает то, что происходит внутри метода apache. – dty

+0

@ f1sh Я знаю, но они могут улучшить эту вещь, так как метод isNotBlank() имеет нулевую проверку, поэтому они могут вводить некоторые исключения при использовании 'apache commons' –

ответ

0

Похоже, только эта помощь, null check и использование StringUtils.isNotEmpty(), даже StringUtils.isNotBlank() делает то же самое:

enter image description here