快速上手 Kotlin 開發系列之比較對象

本節介紹 Kotlin 中對象的比較。

Java 比較對象

我們知道 Java 在比較對象的時候,是通過 == 來判斷兩個對象是否完全相同,通過 equals 方法判斷兩個對象的值是否相同:

public static void main(String[] args) {
    String string = "string";
    String newString = new String("string");
    System.out.println("string == newString :" + (string == newString));
    System.out.println("string.equals(newString) :" + string.equals(newString));
}

執行結果:

string == newString :false
string.equals(newString) :true

Kotlin 比較對象

在 Kotlin 中是不需要通過 equals 方法判斷兩個對象的值是否相同,而是通過 ==,如果判斷對象是否相同則需要使用 ===,Kotlin 與 Java 在比較對象上的區別如圖:

其實大家只要記住這張圖就會避免出現比較對象的錯誤。

接下來寫一個 Kotlin 比較對象的示例:

需要注意的是,Kotlin 中除了直接賦值字符串以外沒辦法直接使用字符串去構造一個 String 對象,需要通過 StringBuilder 或者傳入一個 ByteArray 對象來間接的構造對象:

fun main() {
    val string = "string"
    val newString = String("string".toByteArray())
    println("string == newString: ${string == newString}")
    println("string === newString: ${string === newString}")
}

執行結果:

string == newString: true
string === newString: false

以上就是本節內容,歡迎大家關注~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章