Posted at

kotlinでwhen文を使ってみる


kotlinのwhen文ってどんなもの?

Javaのswitch文と似ているものであり、if-else文としても使用することができる。

本記事にはwhenの記述方法に関して、記述していく。


when文の使い方

Javaのswitch文の場合

int value = 2;

switch (value) {
case 0:
// valueが0の場合の処理
break;
case 1:
// valueが1の場合の処理
break;
case 2:
// valueが2の場合の処理(今回はここに入る)
break;
default:
// 上記のcase文に入らなかった場合の処理
}

kotlinのwhen文で書き換えてみる

val value = 2

when (value) {
0 -> {// valueが0の場合の処理}
1 -> {// valueが1の場合の処理}
2 -> {// valueが2の場合の処理(今回はここに入る)}
else -> {// 上記のcase文に入らなかった場合の処理}
}

さらにwhen文の場合には、変数を指定せずに、直接条件式を記述することもできる。

この書き方はswitch文というよりかは、ie-else文の感覚に近い。


val value = 2

when {
value == 0 -> {// valueが0の場合の処理}
value == 1 -> {// valueが1の場合の処理}
value == 2 -> {// valueが2の場合の処理(今回はここに入る)}
else -> {// 上記の条件文に入らなかった場合の処理}
}

上記のような条件式でOR/ANDを書きたい場合には、,&&を使用することをお勧めします。

ANDは特にないが、ORを表したい場合に、when文の引数あるかないかで使用できる演算子が変わってきてしまう。

どちらでも使用できるのが,なので、こちらを使用していく。

val value = 2

when {
value != null && value == 1 -> {// valueがnullではなく、0の場合の処理}
value == 1, value == 2 -> {// valueが1か2の場合の処理}
else -> {// 上記の条件文に入らなかった場合の処理}
}


まとめ

kotlinで開発していく上で、when文はとても使いやすいものなので、この機会にぜひ試しに使ってみていただけたらと思います。