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文はとても使いやすいものなので、この機会にぜひ試しに使ってみていただけたらと思います。