本节介绍 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
以上就是本节内容,欢迎大家关注~