【笔记】Kotlin的数据类

前言

Kotlin的数据类学习笔记

定义数据类

  • 数据类的主构造方法中至少定义了一个形参,形参必须被varval标记
  • 数据类不能是抽象的、开放的、密封的、内部的
  • 数据类没有函数体
  • 数据类中默认包含了equals()hashCode()toString()componentN()copy()方法
    • equals()hashCode()toString()方法可以被重写
    • 这些方法如果父类中被final定义,则使用父类的实现
1
2
3
data class 类名(
var 属性名: 数据类型,
)

数据类实例的相等比较

  • 使用==运算符比较哈希值,相当于调用了equals()方法
1
2
3
4
5
var obj1 = 类名()
var obj2 = obj1.copy()

var result = obj1 == obj2
println(result) // true
  • 使用===运算符比较对象引用
1
2
3
4
5
var obj1 = 类名()
var obj2 = obj1.copy()

var result = obj1 === obj2
println(result) // false

完成

参考文献

哔哩哔哩——青空の霞光