我在代码"".equals(val)
中使用了它,但如果是"".equals("abc")
然后,它应该是正确的表达方式。
答案 0 :(得分:3)
在表达式的左侧有一个字符串文字不会生成NullPointerException。
if(a !=null && a.equals("value"))
您可以使用if("value".equals(a))
替换。
PS
在左侧使用常量是更清晰的方法,因为可以防止出错。它可以被称为yoda condition。
答案 1 :(得分:1)
"abc".equals("def")
相当于
"def".equals("abc")
如果这就是你要问的......
答案 2 :(得分:0)
比较两个字符串文字?只需使用布尔常量,你就知道它们已经相同(或没有)。
比较字符串文字和字符串变量? literal.equals(variable)
。这可以防止空指针异常。
两个变量?检查为空,然后检查nullCheckedVariable.equals(otherVariable)
。