Kotlinで知ってると便利なTips
もともとはRubyをメインで書いていたのですが、最近Kotlinを使うようになって便利だと思ったTipsをいくつか紹介します。
data class
Ref: https://kotlinlang.org/docs/reference/data-classes.html
何もしないけどデータだけ持たせたい時に使えるクラスです。equals, toStringなどいくつかの簡単なメソッドは使えるようにしてくれています。
sealed class
Ref: https://kotlinlang.org/docs/reference/sealed-classes.html
簡単に言うとenumの拡張型です。継承に制限があって、同じファイル内でしか継承できません。
例えばこんなふうに使っています。
sealed class Result { data class Success(val a: A, val b: B): Result() data class Failure(val a: A, val b: B): Result() }
enumだとこのようにdataクラスを持つことができないので、便利に使えます。
custom getter(setter)
Ref: https://kotlinlang.org/docs/reference/properties.html#getters-and-setters
ちょっと上の2つとは毛色が違いますが、getter, setterのoverrideをこんな風にかけます。知ってると意外と便利です。
var stringRepresentation: String get() = this.toString() set(value) { setDataFromString(value) // parses the string and assigns values to other properties }
また何かおもしろいTipsを見つけたら追記していきます。