今日はJava Switch Case Stringの例を見てみましょう。Javaプログラマーとして、文字列の重要性と条件付きフローでの使用頻度を知っています。異なる入力文字列に対して異なる振る舞いをするシンプルなメソッドや、受信したアクションをチェックし、それに応じて処理するためのServletコントローラークラスなど、私たちは文字列を使用してフローを決定するために比較します。
Java Switch Case
Javaのswitch caseは、if-else条件と同じく条件付きフローのためのスマートな方法です。Java 7以前は、文字列に基づく条件付きフローを実現する唯一の手段は、if-else条件の使用でした。しかし、Java 7ではswitch caseがStringもサポートするように改良されました。
Java switch caseのStringの例
ここでは、Javaのswitch case文で文字列の使用を示すプログラムを提供しています。比較のために、同じ条件付きフローをif-else条件を使用して行う別のメソッドも提供しています。SwitchStringExample.java
package com.journaldev.util;
public class SwitchStringExample {
public static void main(String[] args) {
printColorUsingSwitch("red");
printColorUsingIf("red");
// switch case stringは大文字と小文字を区別します
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 case Stringについて知っておくべき重要なポイントは次のとおりです:
- Javaのswitch case Stringは、複数のif-else-ifチェーン条件を削除することでコードをより読みやすくします。
- Javaのswitch case Stringは大文字と小文字を区別し、例の出力がそれを確認しています。
- Javaのswitch caseは、渡された値とcaseの値を比較するためにString.equals()メソッドを使用するため、NullPointerExceptionを避けるためにNULLチェックを追加する必要があります。
- Java 7のドキュメントによると、JavaのコンパイラはString in Switch文に対してチェーンされたif-else-if文よりも効率的なバイトコードを生成します。
- Javaのswitch case Stringを使用する場合は、Java 7で使用されることがわかっている場合にのみ使用してください。そうでない場合は例外が発生します。
これでJavaのswitch case Stringの例については以上です。ヒント:より短いコードを書くために、switchの代わりにJavaの三項演算子を使用することができます。
Source:
https://www.digitalocean.com/community/tutorials/java-switch-case-string