Java 在检查相等性期间,字符串文字应该在哪里,左侧还是右侧?

Java 在检查相等性期间,字符串文字应该在哪里,左侧还是右侧?,java,Java,我在代码中使用了.equalsval,但如果是.equalsabc 那么,正确的表达应该是什么呢 "abc".equals("def") 相当于 "def".equals("abc") 如果这是您要问的问题…在表达式的左侧有一个字符串文本将不会生成NullPointerException ifa=null&&a.equalsvalue可以替换为ifvalue.equalsa PS 将常数放在左手边是一种更干净的方法,可以防止出错。它可以被称为。比较两个字符串文本?只要使用布尔常数,你就知道它

我在代码中使用了.equalsval,但如果是.equalsabc

那么,正确的表达应该是什么呢

"abc".equals("def")
相当于

"def".equals("abc")

如果这是您要问的问题…

在表达式的左侧有一个字符串文本将不会生成NullPointerException

ifa=null&&a.equalsvalue可以替换为ifvalue.equalsa

PS


将常数放在左手边是一种更干净的方法,可以防止出错。它可以被称为。

比较两个字符串文本?只要使用布尔常数,你就知道它们是相同的还是不同的

比较字符串文字和字符串变量?literal.equalsvariable。这可以防止空指针异常


两个变量?检查null,然后检查nullCheckedVariable.equalsotherVariable。

您的问题既不清楚也没有意义。第二种选择会带来什么?没关系。唯一的方法是,如果您正在与一个可能为空的值进行比较,并且不想对其进行测试或被NPE击中,那么您就不应该编写.equalsabc,因为结果是静态可预测的。无法理解您在寻找什么?你能发布你的代码并编辑你的问题吗?如果有两个字符串文字,这不重要。它可以是做pmd的完美候选人check@Orion,它已经有了未使用的NullCheckInequals名称。