Language 초급

값을 반환하는 표현식으로서의 switch — break 없음, fall-through 없음.

✕ Java 8
String msg;
switch (day) {
    case MONDAY:
        msg = "Start";
        break;
    case FRIDAY:
        msg = "End";
        break;
    default:
        msg = "Mid";
}
✓ Java 14+
String msg = switch (day) {
    case MONDAY  -> "Start";
    case FRIDAY  -> "End";
    default      -> "Mid";
};
이 코드에 문제가 있나요? 알려주세요.
🎯

값 반환

switch 결과를 직접 대입합니다 — 임시 변수가 필요 없습니다.

🛡️

fall-through 없음

화살표 구문은 break 누락으로 인한 우발적 fall-through 버그를 제거합니다.

완전성 검사

컴파일러가 모든 케이스가 처리되었는지 확인합니다.

이전 방식
Switch 문
모던 방식
Switch 표현식
JDK 버전
14
난이도
초급
Switch 표현식
사용 가능

JDK 14 (2020년 3월) 이후 널리 사용 가능

Switch 표현식은 값을 직접 반환하고, 화살표 구문을 사용하여 fall-through 버그를 방지하며, 컴파일러가 완전성을 검증합니다. 오류가 발생하기 쉬운 문 형태를 대체합니다.

공유 𝕏 🦋 in