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

Posted 张鹿鹿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速上手 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

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

以上是关于快速上手 Kotlin 开发系列之比较对象的主要内容,如果未能解决你的问题,请参考以下文章

快速上手 Kotlin 开发系列之类型映射

快速上手 Kotlin 开发系列之解构

快速上手 Kotlin 开发系列之反引号

快速上手 Kotlin 开发系列之循环

快速上手 Kotlin 开发系列之集合操作符

快速上手 Kotlin 开发系列之集合操作符