我有,
String str1 = "StringA";
String str2 = "StringA";
现在,我做
(str1 == str2)
有时它与字符串不匹配并返回false
但str1.equals(str2)
始终返回true
我在这里缺少什么?
我不能总是使用equals
,因为我的String
也可以为空。
谢谢!
答案 0 :(得分:3)
==
比较引用而不是内容
要比较您需要使用的字符串String#equals:
.equals(); //If you consider the case
.equalsIgnoreCase(); //If you not consider the case
答案 1 :(得分:1)
==
比较确切的值。因此,它会比较primitive
值是否相同,
.equals()
调用comparison
的{{1}}方法,该方法将比较引用指向的实际对象。对于字符串,它会比较每个字符以查看它们是否为objects
。
在此处阅读更多内容: