C ペアと同等の Java
質問:
Java ですが1.6 には Map.Entry がありますが、 C に直接相当するものはありません。ペア
回答:
不在の理由:
Hunter Gratzner は、comp.lang.java.help スレッドで、Pair コンストラクトの導入に反対する議論を示しています。ジャワ。主な懸念は、Pair クラスには 2 つの値間の関係に関する明示的なセマンティクスが欠けていることです。具体的な名前が付けられていないと、「最初の」値と「2 番目」の値が何を表すのかが不明確になり、コードの意図を理解するのがより困難になります。
適切な代替案:
推奨アプローチは、意図したユースケースごとにシンプルで具体的なクラスを作成することです。たとえば、Pair(x,y) の代わりに、Position(x,y) のようなより説明的なクラスを使用すると、2 つの値間の関係がより明確に伝わります。同様に、Range(begin,end) と Entry(key,value).
Map.Entry の制限された同等物として:
一方、Map.Entry はペアを提供します。のような機能ですが、キーと値のマッピングに固有であり、汎用性が制限されています。
結論:
Java では、汎用のペア クラスに頼る代わりに、使用目的を明示的に伝える特殊で意味のあるクラスの作成を奨励します。このアプローチにより、コードの可読性と理解を強化しながら、汎用のペア型に関連する意味論的な曖昧さを回避します。
以上がJava で C の「Pair」に相当するものは何ですか? 直接の類似物がないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。