String的equals方法的乙個小細節

2021-07-26 19:34:34 字數 483 閱讀 3561

在比較兩個string型別的資料時,通常會使用equals()方法。比較的兩個字串一般沒有先後順序,但是之前有人就說最好把常量現在前面,變數寫在後面。一直不知道為什麼,現在終於知道了…

//例:比較物件的乙個屬性是否是"hello",物件的屬性用object代替

object.equals("hello");

"hello".equals(object);

上面兩句在語法上沒有區別,執行的結果也是相同的。但是後者優於前者,因為前者有可能報空指標異常。object是乙個屬性(變數),傳遞過來的值就有可能為null,那麼使用null去呼叫equals()方法的時候,就會報異常。後者就不會,因為後者的「hello」是乙個字串常量,本身就擁有equals()方法,所以不會報錯。

結論:盡量寫成」「.equals(obj)的形式。

String類的equals方法

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

淺探String的equals方法

話不多說,直接開始。在先了解string的equals 方法的時候。我們應該做的是先看看object 這個父類的實現把。public boolean equals object o 在object 這個類中equals 竟然就是 就是說的是對位址進行等價。但是string 類將 equals 方法進...

String類與equals方法

常見的string類例項化方式有兩種 public class strings 第一種方式是直接賦值的型別。先在常量池中給 abc 字串分配空間,然後讓str指向常量池中的 abc 執行string str2 abc 前先在常量池中檢查有沒有abc字串,要是有就直接讓str2指向該字串。所以str跟...