Language 初級

変数を意図的に使用しないことを_で明示する。

✕ 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 22でファイナライズ(JEP 456、2024年3月)

無名変数は、読み手やツールに対して値が意図的に無視されることを伝えます。'ignored'や'unused'といった命名規則も、IDEの警告も不要になります。

共有 𝕏 🦋 in