本節介紹 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
以上就是本節內容,歡迎大家關注~