是的,对于这种情况,您是对的。
String#replace(或与此相关的String类的任何方法),将返回一个新的String对象(您可以猜测为什么?
Immutability )。因此,您将不得不使用
equals方法进行比较,以比较它们的内容。
现在,在第二种情况下:-
"STring" == "STring"
您正在比较两个字符串文字。现在,由于String文字是用Java
嵌入的,所以两个文字都是相同的(从某种意义上说,它们指向相同的内存位置),因此
==比较可以得出
true。
使用
==和进行比较的不同之
equals处在于,
==比较 参考值
-即对象的存储位置值,这对于两种不同的字符串对象将是不同的,就像在第一种情况下一样。而
equals比较那些对象中的实际内容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)