【学習kotlinシリーズ】データクラス
Qiitaでことりん学習帳を発売しています!
データクラスとは
データを作る用のクラスを使う時に、特に(umentuのような)入門者には次のような間違いをすることがある。
/**
* Created by umentu on 2017/06/18.
*/
// クラスを作る
class DataClass(val id: Int, val name: String)
fun main(args: Array<String>){
val class1 = DataClass(1, "taro")
val class2 = DataClass(1, "taro")
// class1とclass2が一致しているかみてみる
println(class1 == class2)
println("-----------------------------")
// class1、class2をprintしてみる
println(class1)
println(class2)
}
実行結果
false
-----------------------------
DataClass@4d7e1886
DataClass@3cd1a2f1
これだと同じデータを入れていても一致していると判定されないから不便。(オブジェクト指向なら当然なところ。)ただ、データクラスを使うことで、class1とclass2を同じものとして扱える。宣言方法は、classの前にdata修飾子をつければいいだけ。
実際に書いてみる
/**
* Created by umentu on 2017/06/18.
*/
// クラスを作る
data class DataClass(val id: Int, val name: String)
fun main(args: Array<String>){
val class1 = DataClass(1, "taro")
val class2 = DataClass(1, "taro")
// class1とclass2が一致しているかみてみる
println(class1 == class2)
println("-----------------------------")
// class1、class2をprintしてみる
println(class1)
println(class2)
}
実行結果
true
-----------------------------
DataClass(id=1, name=taro)
DataClass(id=1, name=taro)
ディスカッション
コメント一覧
まだ、コメントがありません