在Java中,"2".equals(isFlag)
这个表达式本身不会导致空指针异常(NullPointerException)。但是,如果isFlag
是null
,那么调用isFlag.equals("2")
会抛出空指针异常。
"2".equals(isFlag)
这个表达式是在检查字符串字面量"2"
是否与isFlag
相等,由于字符串字面量不是null
,所以这个调用是安全的。如果isFlag
是null
,表达式会返回false
,而不会抛出异常。
相对的,如果写成isFlag.equals("2")
,当isFlag
为null
时,尝试调用null
的equals
方法会引发空指针异常。
因此,为了防止空指针异常,推荐在使用equals
方法时,将已知的非null
对象放在前面,如"2".equals(isFlag)
。这样的写法更为安全