kotlin - 关于 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
。
解决方案
如果你想使用class
,你必须覆盖equals
和hashcode
。但是,data class
如果您想比较对象equals
并且hashcode
已经在data class
.
推荐阅读
- python - 我可以允许用户输入我的 kivy 应用程序输出到的命令提示符窗口吗?
- maven - Nexus IQ 获取每个库的 EOS 详细信息
- python - 我正在尝试获得不同用户的回复
- mysql - 无法将 docker nginx 服务器连接到本地 mysql 数据库
- c++ - word() 函数是什么?
- flutter - 在 DataTable 中使用 FutureBuilder 的 snapshot.data
- java - 在 Spring Boot 应用程序中面对 java.lang.NullPointerException
- python - Python - 确定集合中是否存在任何对象的优雅方法
- javascript - 如何将字符串日期转换为更易读的版本
- javascript - setAttribute 函数上的 Javascript 错误