Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 两个句子之间的字符串比较_Java - Fatal编程技术网

Java 两个句子之间的字符串比较

Java 两个句子之间的字符串比较,java,Java,请你能确切地告诉我这两者的区别吗 这个 及 除非mystring为空,否则没有区别 我通常走第二条路 if("test".equals(myString)){ } 原因是如果mystring为null,那么第1个方法将给我null指针异常 然而,第二种方式是mystring为空,那么您的应用程序也不会停止(由于空指针异常),因为它将返回false如果mystring为null,您必须 null.equals("test") --> NullPointerException "t

请你能确切地告诉我这两者的区别吗 这个


除非
mystring
为空,否则没有区别

我通常走第二条路

if("test".equals(myString)){ }
原因是如果mystring为null,那么第1个方法将给我null指针异常


然而,第二种方式是
mystring
为空,那么您的应用程序也不会停止(由于空指针异常),因为它将返回false

如果
mystring
null
,您必须

null.equals("test")   -->   NullPointerException

"test".equals(null)   -->   false

(如果
myString!=null
表达式是等效的。)

第一个表达式将抛出一个NPE is myString is null,而第二个表达式将计算为false。这也被称为尤达条件。维基百科上也有同样的例子
if("test".equals(myString)){ }
null.equals("test")   -->   NullPointerException

"test".equals(null)   -->   false