패턴의 기본 타입
패턴 매칭이 이제 객체뿐만 아니라 기본 타입에도 작동합니다.
코드 비교
✕ Java 8
String classify(int code) {
if (code >= 200 && code < 300)
return "success";
else if (code >= 400 && code < 500)
return "client error";
else
return "other";
}
✓ Java 25 (Preview)
String classify(int code) {
return switch (code) {
case int c when c >= 200
&& c < 300 -> "success";
case int c when c >= 400
&& c < 500 -> "client error";
default -> "other";
};
}
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
박싱 없음
Integer 래퍼 없이 기본 타입을 직접 매칭합니다.
패턴 일관성
객체와 기본 타입 모두 동일한 패턴 구문을 사용합니다.
더 나은 성능
패턴 매칭에서 오토박싱 오버헤드를 피합니다.
이전 방식
수동 범위 확인
모던 방식
기본 타입 패턴
JDK 버전
25
난이도
고급
JDK 지원
패턴의 기본 타입
프리뷰
JDK 25에서 프리뷰 (세 번째 프리뷰, JEP 507). --enable-preview가 필요합니다.
동작 원리
Java 25는 패턴 매칭을 기본 타입으로 확장합니다. when 가드와 함께 switch 패턴에서 int, long, double 등을 사용할 수 있어 박싱이나 수동 범위 확인이 필요 없습니다.
관련 문서