"String".equals(otherString)有什么好处

som*_*der 4 java string

在教程中(用于实现xml解析器)我看到了以下代码:

if( "NODENAME".equals(xmlreader.getNodeName()) ) {  // getNodeName() returns java.lang.String
... 
}
Run Code Online (Sandbox Code Playgroud)

有没有理由写这样的字符串比较?

这可能是某种最佳/不良做法或代码,可能会带来一些性能上的好处.我想知道我是否应该在商业项目中使用它.

Sur*_*tta 9

这样可以节省你的费用 NullPointerException.

这是Yoda Condition 用于解决不安全的null行为.

在编程术语中,Yoda Conditions(也称为Yoda Notation)是一种编程风格,其中表达式的两个部分在条件语句中相反.

优点是

交换两个条件值不会改变程序的行为.常见的错误是意外地分配值而不是编写条件语句.