Javaのスイッチケース文字列
今日はJavaのSwitch CaseのStringの例を見ていきます。Javaプログラマーとして、Stringの重要性と条件の流れのためにどれだけ使われるかを知っています。異なる入力Stringに対して異なる動作をするシンプルなメソッドであれ、受信するアクションを確認してそれに応じて処理を行うServletコントローラークラスであれ、私たちはStringを使用し、流れを決定するために比較します。
Java スイッチケース
Javaのswitch caseは、if-else条件と同様に条件フローをコードするための便利な方法です。Java 7以前は、文字列ベースの条件フローを実現する唯一の手段はif-else条件を使用することでした。しかし、Java 7はswitch caseを改善し、Stringもサポートするようになりました。
Javaのスイッチケース文字列の例
ここでは、Javaのswitch-case文におけるStringの使用例を示すJavaプログラムを提供します。比較のために、同じ条件フローをif-else条件を使用して行う別の方法も提供します。SwitchStringExample.java
package com.journaldev.util;
public class SwitchStringExample {
public static void main(String[] args) {
printColorUsingSwitch("red");
printColorUsingIf("red");
// switch case string is case sensitive
printColorUsingSwitch("RED");
printColorUsingSwitch(null);
}
private static void printColorUsingIf(String color) {
if (color.equals("blue")) {
System.out.println("BLUE");
} else if (color.equals("red")) {
System.out.println("RED");
} else {
System.out.println("INVALID COLOR CODE");
}
}
private static void printColorUsingSwitch(String color) {
switch (color) {
case "blue":
System.out.println("BLUE");
break;
case "red":
System.out.println("RED");
break;
default:
System.out.println("INVALID COLOR CODE");
}
}
}
ここに上記プログラムの出力があります。
RED
RED
INVALID COLOR CODE
Exception in thread "main"
java.lang.NullPointerException
at com.journaldev.util.SwitchStringExample.printColorUsingSwitch(SwitchStringExample.java:24)
at com.journaldev.util.SwitchStringExample.main(SwitchStringExample.java:10)
JavaのswitchケースのStringに関して知っておくべき重要なポイントは次の通りです:
- Javaのswitch case文は、複数のif-else-ifの連鎖条件を排除することでコードをより読みやすくします。
- Javaのswitchケースは文字列の大文字小文字を区別します。この例の出力がそれを確認しています。
- Javaのスイッチケースは、渡された値をケース値と比較するためにString.equals()メソッドを使用しますので、NullPointerExceptionを避けるためにNULLチェックを追加することを確認してください。
- Java 7のStringに関するドキュメントによると、JavaコンパイラはSwitch文におけるStringに対して、連鎖したif-else-if文よりも効率的なバイトコードを生成します。
- Java 7で使用されることが分かっている場合にのみ、javaのswitch caseのStringを使用するようにしてください。そうでない場合は例外が発生します。
これで、Javaのswitch case Stringの例は終わりです。ヒント: より小さなコードを書くために、switchの代わりにJavaの三項演算子を使用できます。

