RoadMovie

write down memos or something I found about tech things

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を見つけたら追記していきます。