我处理以下方法:如何在检查方法内避免空指针访问警告?
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吗? –