こんにちは、テルプロです!
「列挙型(Enum)の使い方がわからない」とお悩みではないでしょうか?
テルプロ
本記事ではそんな悩みを解決していきます!
列挙型とは
- 複数の定数を1つのクラスとしてまとめられるもの
- インスタンス化することはできない
列挙型を理解する上で、押さえておくべきポイントは上記の2点のみです。
では、詳しく解説していきます!
基本的な使い方
![](https://terupro.net/wp-content/uploads/2022/02/8378ed05a74ff4d0074a807363ac2014-1.png)
簡単解説
今回は「季節の英単語を日本語に翻訳したい場合」を例に挙げます。
列挙型は複数の定数を1つにできます。
今回は「spring, summer, autumn, winter」の4つを列挙型Seasonにまとめます。
列挙型は、今回の例のように複数の定数を1つのクラスとしてまとめたい際に用います。
では、実際の使用例を用いて解説していきます!
使用例
fun main() {
// 引数[season]の値を列挙型[Season]の[spring]に指定している
printSeason(Season.SPRING)
}
// 複数の定数を1つのクラスとしてまとめている
enum class Season {
SPRING, SUMMER, AUTUMN, WINTER
}
// 引数[season]の値によって処理を変えている
fun printSeason(season: Season) {
when (season) {
Season.SPRING -> println("春")
Season.SUMMER -> println("夏")
Season.AUTUMN -> println("秋")
Season.WINTER -> println("冬")
}
}
// 出力結果 春
簡単解説
上記は、季節の英単語を日本語に翻訳するプログラムです。
enum class Seasonが列挙型です。
例のように「enum」を classの前につけることで列挙型を宣言しています。
列挙型「Season」には、翻訳したい英語の単語を格納しています。
このとき「SPRING, SUMMER, AUTUMN, WINTER」のように各定数を“,”カンマ区切りにしています。
このSeasonを使用する場合は『Season.SPRING』のように『列挙型名.定数』として使用します。
printSeasonメソッドで春夏秋冬の判定をおこなって、翻訳しています。
printSeasonメソッドに引数[season]の定数を翻訳したい英単語するだけで翻訳されます。
以上が、列挙型の基本的な使い方です。
まとめ
今回は【列挙型】の概念や使い方を徹底解説しました。
列挙型は、複数の定数を一つのクラスにまとめる際に使用されます。Kotlinの文法を正確に理解し、開発の可能性を広げましょう。
最後までご覧いただきありがとうございました。ではまた!