Javaのswitch文の場合、文字列を使用します。
今日はJavaのSwitch Case Stringの例を見てみましょう。Javaプログラマーとして、文字列の重要性や条件分岐において何度も使用されることを知っています。異なる入力文字列に対して異なる動作を行うシンプルなメソッドや、受信したアクションをチェックし適切に処理するServletコントローラークラスなど、フローを決定するために文字列を使用して比較します。
Javaのスイッチ文をパラフレーズすると「Javaのスイッチケース」となります。
Javaのswitch caseは、if-else文と同様に条件フローのためのスマートなコーディング方法です。Java 7以前は、文字列に基づく条件フローを実現するには、if-else文しか手段がありませんでした。しかし、Java 7では、switch caseが文字列もサポートするように改良されました。
Javaのswitch文のstring型の例
私はここに、Javaのswitchケース文でStringの使用方法を示すJavaプログラムを提供しています。比較のために、同じ条件フローをif-else条件を使って行う別のメソッドも提供しています。SwitchStringExample.java
package com.scdev.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.scdev.util.SwitchStringExample.printColorUsingSwitch(SwitchStringExample.java:24)
at com.scdev.util.SwitchStringExample.main(SwitchStringExample.java:10)
JavaのswitchケースでStringを使用するために知っておくべき重要なポイントは次の通りです。
-
- Javaのswitch case Stringは、複数のif-else-ifの条件を削除してコードをより読みやすくします。
-
- Javaのswitch case Stringは、大文字と小文字を区別するため、例の出力が確認されます。
-
- Javaのswitch caseは、String.equals()メソッドを使用して渡された値をcaseの値と比較するため、NullPointerExceptionを回避するためにNULLチェックを追加する必要があります。
-
- Java 7のドキュメントによると、String in Switch文では、javaコンパイラがチェーンされたif-else-if文よりも効率的なバイトコードを生成します。
- Java 7で使用されることがわかっている場合にのみ、javaのswitch case Stringを使用するようにしてください。それ以外の場合は例外が発生します。
Javaのswitch case Stringの例についてはこれで終わりです。ヒント: switchではなく、Javaの三項演算子を使用してコードを短く書くことができます。