为什么我尝试执行以下操作:(在java
)
if (reason.equals("time")) { // my code }
IDE向我显示此警告消息:(?)
方法调用'reason.equals(“time”)'可能会产生'java.lang.NullPointerException'
我找不到这条警告信息的抽象解释。
答案 0 :(得分:6)
如果reason
为null
,您基本上会null.equals("time")
导致NullPointerException
。要解决此问题,只需交换两个:"time".equals(reason);
答案 1 :(得分:5)
你的IDE很可爱。如果reason
为null
,则您可以获得java.lang.NullPointerException
。
常见的解决方法是使用java.util.Objects.equals(reason, "time")
。该功能将为您执行任何null
检查。
虽然,对于这个特殊情况,酷猫,知道文字当然而不是null
,将重写为 Yoda Expression
"time".equals(reason)