2016-07-13 19 views
1

I @NotNull Anmerkung verwende, wie Sie verwende ich sehen kann:NPE geprüft von StringUtils.isNotBlank noch Eklipse @NotNull verursacht Warnung

StringUtils.isNotBlank()

NP zu überprüfen, aber ich habe immer noch Eclipse-Warnung. Wenn ich

verwenden oldlink! = Null

es zeigen pflegt Warnung.

Weiß jemand, was kann Problem sein, wenn Apache commons StringUtils?

NPE warning

+0

Es ist kein Problem. Wenn Sie den ''! = Null''-Vergleich verwenden, sieht der Compiler, dass Sie nach Null suchen. Wenn Sie einen Aufruf für eine Methode wie "isNotBlank()" verwenden, hat der Compiler keine Ahnung, dass diese Methode ebenfalls auf Null prüft. Deshalb erhalten Sie immer noch die Warnung. Aber das ist eine Compiler-Warnung und Sie können sie einfach ignorieren. – f1sh

+1

Ich habe ähnliches Problem mit Apache 'CollectionUtils.isNotEmpty()' in IntelliJ IDEA 13. Es zeigte potenzielle NPE, obwohl diese Methode nach es sucht. Und ich denke, später Version von IDEA tun das nicht und tatsächlich darüber nachdenken, was in der Apache-Methode vorgeht. – dty

+0

@ f1sh Ich weiß, aber sie könnten dieses Ding verbessern, da isNotBlank() Methode einen Null-Check hat, so dass sie einige Ausnahmen einführen könnten, wenn sie 'Apache commons' –

Antwort

0

Sieht aus wie nur diese Hilfe null check und die Verwendung von StringUtils.isNotEmpty(), auch StringUtils.isNotBlank() macht das gleiche:

enter image description here