4.16. 無名パターンと変数 (プレビュー)


Red Hat build of OpenJDK 21 では、無名パターンと変数が導入されています。これは、Java プログラミング言語を強化するプレビュー機能です。

  • 無名パターン は、コンポーネントの名前またはタイプを指定せずにレコードコンポーネントと一致します。無名パターンは、不要なネストされたパターンを省略することで、レコードパターンの読みやすさを向上させるのに役立ちます。
  • 無名変数 は初期化できますが、使用することはできません。無名変数は、宣言する必要がある変数 (たとえば、catch 句内) が使用されていない変数を識別することにより、すべてのコードの保守性を向上させるのに役立ちます。

無名パターンと無名変数は、アンダースコア (_) 文字を使用して表すことができます。変数が関連がなく、使用されない場合は、変数に名前を付ける必要はありません。このような状況では、アンダースコア文字を使用して、変数は存在するが使用されていないことを指定できます。

次の lambda 式の例では、パラメーターは関係がないため、JVM はこのパラメーターの変数を作成する必要がありません。

...stream.collect(Collectors.toMap(String::toUpperCase, _ -> "NODATA"))
Copy to Clipboard

次の switch ステートメントの例では、変数は 大文字と小文字 が一致する必要がありますが、これらの変数は使用されません。

switch (b) {
	case Box(RedBall _), Box(BlueBall _) -> processBox(b);
	case Box(GreenBall _)            	-> stopProcessing();
	case Box(_)                      	-> pickAnotherBox();
}
Copy to Clipboard

前の例では、最初の 2 つのケースでは、右側で Box レコードのコンポーネントが使用されないため、無名パターン変数が使用されています。3 番目のケースは新しいもので、無名パターンを使用して、Box レコードを null コンポーネントと一致させます。

詳細は、JEP 443: Unnamed Patterns and Variables (Preview) を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat