String == 和equals() 比较结果不同的原因

== 或 != 比较的是 栈中存放的对象引用 在堆上的地址,
即判断两对象的堆地址是否相同,即是否是指相同一个堆对象。

对于基本类型,== 和 != 是比较值。
对于对象来说,== 和 != 是比较两个引用,即判断两个对象的地址是否相同.

String.equals()相等的条件是:比较二者同为String类型,长度相等,且字符串值完全相同,包括顺序和值,不再要求两者为同一对象。

参考信息:https://blog.csdn.net/skisqibao/article/details/81155454

发表评论