Kotlinには、values
やvalueOf
など、enumクラス用の「静的」メソッドが既にいくつかあります
たとえば、私は列挙型を持っています
_public enum class CircleType {
FIRST
SECOND
THIRD
}
_
random(): CircleType
などの静的メソッドを追加するにはどうすればよいですか?この場合、拡張機能はないようです。
他のクラスと同様に、enumクラスでクラスオブジェクトを定義できます。
_enum class CircleType {
FIRST,
SECOND,
THIRD;
companion object {
fun random(): CircleType = FIRST // http://dilbert.com/strip/2001-10-25
}
}
_
次に、この関数をCircleType.random()
として呼び出すことができます。
編集:列挙定数エントリ間のコンマと、コンパニオンオブジェクトの前のセミコロンに注意してください。両方が必須になりました。