IntelliJ null检查警告
我经常有这样的代码:
protected @Nullable Value value; public boolean hasValue() { return value != null; }
这个问题是当我像这样进行空检查时:
if (!hasValue()) throw... return value.toString();
然后IntelliJ会警告我可能的NPE
而
if (value != null) throw... return value.toString();
避免这个警告。
有没有办法装饰我的hasValue()
方法,以便IntelliJ知道它进行空检查? 并且不会显示警告?
Intellij-Jetbrains是一个非常聪明的IDE,它本身就是你解决许多问题的方法。
看下面的截图。 它建议您删除此警告的五种方法:
1)添加assert value != null
;
2)用return value != null ? value.toString() : null;
替换return语句return value != null ? value.toString() : null;
return value != null ? value.toString() : null;
3)环绕着
if (value != null) { return value.toString(); }
4)通过添加评论来抑制对此特定陈述的检查:
//noinspection ConstantConditions return value.toString();
5)至少添加,因为之前的@ochi建议使用@SuppressWarnings("ConstantConditions")
注释,它可以用于方法或整个类。
要调用此上下文菜单,请使用快捷键Alt+Enter
(我认为它们对于所有操作系统都是通用的)。
- Spring MVC中有多个@PathVariable
- 如何定义流结果注释?
- Java制作了一个单独的注释,它结合了其他注释
- Spring MVC如何转换@RequestParam值?
- Spring AOP:@annotation(注释)
- 随着应用程序的增长,Struts 2validation无法正常工作
- 如何使用Hibernate / JPA注释覆盖GenerationType策略?
- @ParametersAreNonnullByDefault是否也适用于方法返回值?
- Struts 2错误 – com.opensymphony.xwork2.util.logging.commons.CommonsLogger错误