JAVA

Java14 switch 비교

최-코드 2025. 2. 28. 08:46

개선점 : 기존의 switch 문과 달리 더 간결하고, 안전한 코드 작성을 가능하게 해준다.

 

기존

String dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    case 3:
        dayName = "Wednesday";
        break;
    default:
        dayName = "Unknown";
}

 

Java14

String dayName = switch (day) {
    case 1 -> "Monday";
    case 2 -> "Tuesday";
    case 3 -> "Wednesday";
    default -> "Unknown";
};

 

차이점

  • break가 없어도 ->을 통해 switch 문을 끝낼 수 있다.
  • switch를 표현식으로 사용 가능하다. 즉, switch 문이 값을 반환할 수 있어서 변수에 할당시킬 수 있다.

추가 특징

String dayName = switch (day) {
    case 1, 2 -> "Monday";
    case 3 -> {
        System.out.println("Processing Wednesday...");
        yield "Wednesday";
    }
    default -> "Unknown";
};
  • case 문 안에서 여러 줄이 필요할 때는 중괄호를 이용하면 된다.
  • 추가적으로 값을 반환해야 할 필요가 있으면 yield 키워드를 사용하면 된다.
  • 또한 case 1, 2처럼 여러 조건값을 넣어줄 수 있다.