我处理以下方法:
boolean isNullOrEmpty(String s) {
return s == null || s.length() == 0;
}
麻烦的是,它与@Nullable
不兼容。对于istance,在以下代码中,如果不应该显示警告。
void test(@Nullable String s) {
if (!isNullOrEmpty(s)) {
s.length(); // warning : o may be null
}
}
在保留isNullOrEmpty
和Nullable
时,有没有办法让这个警告消失?
答案 0 :(得分:3)
你有没有理由不使用if(o!= null)?
Objects.isNull的目的是用作谓词: .filter(对象::的isNull)
这个警告可能是个错误。您可以使用@SuppressWarnings注释您的方法,如果您真的希望它消失
答案 1 :(得分:2)
我认为如果你重构一下使用false
,你会更好。
Optional
然后您可以将其用作:
@NonNull Optional<String> optNullOrEmpty(@Nullable String s) {
if (s == null || s.length() == 0)
return Optional.empty();
else
return Optional.of(s);
}