淺探String的equals方法

2021-07-14 11:46:27 字數 608 閱讀 1257

話不多說,直接開始。在先了解string的equals 方法的時候。我們應該做的是先看看object 這個父類的實現把。

public

boolean

equals(object o)

在object 這個類中equals 竟然就是 == 就是說的是對位址進行等價。

但是string 類將 equals 方法進行了複寫了 讓我們看看原始碼

@override public

boolean equals(object other)

if (other instanceof string)

if (hashcode() != s.hashcode())

for (int i = 0; i < count; ++i)

}return

true;

} else

}

明白了很多把 先是看是否位址相等 如果位址不相等 在比較是否是string型別

在比較數量 ,在比較hash (我的天, 所以有一句話 說的好 hash不等的一定不相等,hash相等不一定相等)

然後再是乙個乙個的比較。

Object 和 String 的equals比較

先看一段string 和 乙個普通類的equals方法的比較 object 中的equlas的使用 author dell public class testequals dog 中的沒有equals方法的重寫 author dell public class dog cat 重寫了equals方法...

String類的equals方法

先上 public boolean equals object anobject if anobject instanceof string return true return false 字串比較方法可以看出從大方向到小方向對比 1.同乙個物件?比引用位址 如果位址都一樣,即乙個物件 直接返回t...

String 等號比較 和 equals

1 aa equals aa 返回 true 因為 string類重寫了object物件的equals 2 string a1 new string aa string a2 new string aa system.out.println a1 a2 返回false string a1 aa st...