首页 > 解决方案 > 关于 kotlin 中的比较器

问题描述

两者有什么不同?


fun main(args: Array<String>) {
    var a = printName("Jennie")
    var b = printName("Jennie")
    println(a == b)     // compiler : false

    var c = "Robert"
    var d = "Robert"
    println(c == d)     // compiler : true
}

class printName(val name : String)

当我使用该类时,false即使字符串类型相同,结果也是如此。但如果我不使用类,那么会发生什么true

标签: kotlinequals

解决方案


如果你想使用class,你必须覆盖equalshashcode。但是,data class如果您想比较对象equals并且hashcode已经在data class.


推荐阅读