如何解决Java:方法注释可禁止NullPointerException警告
我的代码中有以下帮助方法,该方法断言有关类中成员字段的某些属性。
private @Nullable Controller mController;
private boolean isControllerReady() {
return mController != null && mController.isReady();
}
在代码的其他地方,我调用了类似的内容...
if (isControllerReady() && mController.canDoSomething()) {
mController.doSomething();
}
我的Android Studio在canDoSomething()
上给了我警告:
Method invocation 'canDoSomething' may produce 'NullPointerException'
这应该是误报。是否可以注释isControllerReady
,以便IDE禁止/忽略canDoSomething
上的NPE警告?
解决方法
我认为您正在寻找@SuppressWarnings注释。然后,注释您的方法,并传递您要禁止的编译器警告。
@SuppressWarnings({"NullableProblems"})
private boolean isControllerReady() {
return mController != null && mController.isReady();
}
或者在Intellij上(在Android Studio中也应如此),您可以在突出显示的警告上按Alt + Enter
,然后从那里取消显示。
编辑:格式化
,当您将mController注释为Nullable时,编译器会尝试警告您在对对象调用任何操作之前检查mController是否不为空。
您可以简单地在条件中添加一个空检查。
if (isControllerReady() && mController != null && mController.canDoSomething()) {
mController.doSomething();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。