Kotlin - データクラス

公開日:2019-11-23 更新日:2019-11-24
[Kotlin]

1. 概要

データクラスについてです。


2. データクラス

データクラスはデータを保持することを目的としたクラスです。
データクラスにするには、class の前に data と付け、
プライマリーコンストラクタに val または var を付けてプロパティを定義します。
また、toString() で各値を確認することができます。

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

fun main() {
    val data = CustomerData("Taro", 17)
    println(data.name) // Taro
    println(data.age)  // 17
    println(data.toString()) // CustomerData(name=Taro, age=17)
}


3. copy()

copy() を使うと、値をコピーしたインスタンスを生成できます。
値としは同じになりますが、オブジェクトとして別物になります。

data class CustomerData(var name:String, var age:Int)

fun main() {
    val data = CustomerData("Taro", 17)

    val data2 = data.copy(name = "Hanako")
    println(data2.name) // Hanako
    println(data2.age)  // 17
}


4. 変数への代入

各プロパティを別々の変数に分解して代入することができます。

data class CustomerData(var name:String, var age:Int)

fun main() {
    var (name, age) = CustomerData("Taro", 17)
    println(name) // Taro
    println(age)  //
}