快速上手 Kotlin 开发系列之比较对象

2,387 阅读1分钟

本节介绍 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 与 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

以上就是本节内容,欢迎大家关注~

长按关注