在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)。这样的写法更为安全