java - 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 抑制/忽略此 NPE 警告canDoSomething
?
解决方案
当您将 mController 注释为 Nullable 时,编译器会在您对对象调用任何操作之前尝试警告您检查 mController 是否不为空。
您可以简单地在条件中添加一个空检查。
if (isControllerReady() && mController != null && mController.canDoSomething()) {
mController.doSomething();
}
推荐阅读
- css - 使用 PrintJS 打印设置的宽度和高度
- python-3.x - TypeError:无法使用这些 str 类型的索引器 [stuff] 在 DatetimeIndex 上进行位置索引
- button - 如何使此脚本与按钮单击一起工作?(帖子内的脚本)
- android - 颤振构建应用程序捆绑“失败:构建失败并出现异常”
- android - 安装 facebook-connect 插件后 Ionic 构建失败
- java - split String 如果得到任何大写字母
- spring - Spring WebTestClient 无法解析参数化类型 List 的主体
> - django - /register 'CustomUser' 对象的 TypeError 不可下标
- java - 在 Java (android) 中访问键盘上的 MotionEvent
- javascript - 类型“EmployeeService[]”不可分配给类型“Employee[]”