간단
Switch in String 지원은 열거 형 또는 if-else
논리로 변환하지 않고 데이터를 처리하는 데 유용합니다 . 때로는 문자열을 켜는 것이 더 쉽습니다.
에서 JDK 7 (프로젝트 동전) 메일 링리스트에서 기능 제안 ( @gnat 대답 )
관심있는 문자열 값 당 하나의 전환 가능한 상수에 대한 열거 형을 도입하면 좋은 원인없이 프로그램에 다른 유형을 추가 할 수 있습니다 ...
그렇지 않은 경우 버전
이것은 짧지 만 많은 사람들 if's
이 읽기가 어렵습니다. 그리고 이것은 느립니다.
if (color.equals("red")) {
System.out.println("Color is Red");
} else if (color.equals("green")) {
System.out.println("Color is Green");
} else {
System.out.println("Color not found");
}
열거 형 버전
열거 형을 정의해야하며, 이것은 좋지만 때로는 필요하지 않습니다.
enum Color {RED, GREEN}
평소와 같이 처리
try {
switch (Color.valueOf(color)) {
case RED:
System.out.println("Color is Red");
break;
case GREEN:
System.out.println("Color is Green");
break;
}
} catch (IllegalArgumentException e) {
System.out.println("Color not found");
}
JDK 7-스위치 명령문 버전의 문자열
추가 유형을 변환하고 정의하지 않고도 처리 할 수 있습니다.
switch (color) {
case "red":
System.out.println("Color is Red");
break;
case "green":
System.out.println("Color is Green");
break;
default:
System.out.println("Color not found");
}