Kotlinで列挙型クラスを宣言する方法は何ですか?
Kotlinで列挙型クラスを宣言する方法は、enum classキーワードを使用することです。
サンプルコードは以下のようになります:
enum class DayOfWeek {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
上記のコードでは、DayOfWeekは列挙型であり、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY、SUNDAYの七つの列挙定数が含まれています。
他らのクラスと同様に列挙型クラスを使用することができます、例えば:
val today = DayOfWeek.MONDAY
println(today) // 输出:MONDAY
枚挙定数にも、属性やメソッドを追加することができます。たとえば、
enum class DayOfWeek(val dayNumber: Int) {
MONDAY(1),
TUESDAY(2),
WEDNESDAY(3),
THURSDAY(4),
FRIDAY(5),
SATURDAY(6),
SUNDAY(7);
fun isWeekend(): Boolean {
return this == SATURDAY || this == SUNDAY
}
}
val today = DayOfWeek.MONDAY
println(today.isWeekend()) // 输出:false
DayOfWeek列挙型には、dayNumberプロパティとisWeekend()メソッドが追加されました。