_를 사용한 이름 없는 변수
변수가 의도적으로 사용되지 않음을 표시하기 위해 _를 사용합니다.
코드 비교
✕ Java 8
try {
parse(input);
} catch (Exception ignored) {
log("parse failed");
}
map.forEach((key, value) -> {
process(value); // key unused
});
✓ Java 22+
try {
parse(input);
} catch (Exception _) {
log("parse failed");
}
map.forEach((_, value) -> {
process(value);
});
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
명확한 의도
_는 '이 값이 여기서 필요하지 않습니다'를 명시적으로 표현합니다.
경고 없음
IDE와 린터가 의도적으로 사용하지 않은 변수를 표시하지 않습니다.
더 깔끔한 람다
일부 매개변수만 필요할 때 다중 매개변수 람다가 더 깔끔해집니다.
이전 방식
미사용 변수
모던 방식
_ 플레이스홀더
JDK 버전
22
난이도
초급
JDK 지원
_를 사용한 이름 없는 변수
사용 가능
JDK 22에서 확정 (JEP 456, 2024년 3월).
동작 원리
이름 없는 변수는 값이 의도적으로 무시됨을 독자와 도구에 전달합니다. 더 이상 'ignored' 또는 'unused' 이름 규칙이나 IDE 경고가 필요 없습니다.
관련 문서