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