数据类

kotlin定义了一种 专门用于保存数据 的类——数据类,关键字为data class, 它有以下2个要求:

  1. 默认构造函数至少要有1个参数,每个参数必须是属性,即val 或者 var
  2. 数据类不能是抽象类开放类密封类、或者内部类
data class DataClassSimple(var name: String, var age: Int) { }

Pair 和 Triple

kotlin定义了两个特殊的数据类型: PairTriple,他们分别代表2参数类 与三参数类。

 val pair = Pair("1", 1)

 System.out.println("pair first=${pair.first} second= ${pair.second}")

copy

数据类提供了copy函数,可以快速的完成值复制,并完成部分数值的替换

 var foo = DataClassSimple("doulala", 18)
 var foo1 = foo.copy(name = "lalala")
 System.out.println("foo1.name = ${foo1.name}")

ComponentN

数据类提供了compoentN参数,与构造函数相反,主要用来对数据进行解构

  val (name, age) = foo //数据类实例的解构
  System.out.println("name first=${name} age= ${age}")

你可能感兴趣的:(数据类)