Kotlin基础教程-数据对象

数据对象

定义数据对象

关键字:data

data class User(val name: String, val age: Int)

一个小小的data关键字会带来什么便利,会自动为该类生成如下方法:

  • equals/hashCode
  • toString
  • copy

数据对象特点

  • 主构造函数必须有一个参数
  • 参数必须使用val/var定义
  • 数据类不能用 abstract,open,sealed,或者 inner
  • 不能继承其他类,但可以实现接口
  • 在 JVM 中如果构造函数是无参的,则所有的属性必须有默认的值

复制函数

data class User(val name: String, val age: Int) {

}


fun main(args: Array<String>) {
    val user = User("doctorq", 28)
    println(user.toString())
    val copyUser = user.copy(age = 27)
    println(copyUser.toString())

}

执行结果:

User(name=doctorq, age=28)
User(name=doctorq, age=27)

多重声明

使用数据类为多个变量赋值

val (name,age) = copyUser
println("$name is $age")

标准数据类

val pair = Pair(1,2)
println(pair.toString()) val triple = Triple(1,2,3) println(triple.toString())

你可能感兴趣的:(Kotlin基础教程-数据对象)