我處理以下方法:如何在檢查方法內避免空指針訪問警告?
boolean isNullOrEmpty(String s) {
return s == null || s.length() == 0;
}
麻煩的是,它不與@Nullable
兼容。在下面的代碼中,當不應該顯示警告時,顯示警告。
void test(@Nullable String s) {
if (!isNullOrEmpty(s)) {
s.length(); // warning : o may be null
}
}
有沒有辦法讓這個警告消失,同時節省isNullOrEmpty
和Nullable
?
什麼是IDE /您使用產生這一警告的框架? IntelliJ例如不會產生警告,這要歸功於Object.isNull的方法契約:'!null-> false; null-> true'。 –
根據您對@ Remi的回答發表的評論,我想知道您是否做了一個最小化,完整,可驗證的示例。 (也就是說,它可能只比Minimal少一點?)我還在想,問題是否存在於你的'isNullOrEmpty(List)'方法中,或者使用它的返回的布爾值。 –
這是Eclipse嗎? –