問題タブ [java-14]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - final フィールドのみを持つジェネリック (非データ) クラスに Java 14 レコードを使用する
String
a (以下の例を参照) または Spring の依存関係などの final フィールドを持つ単純なクラスが与えられた場合、Java 14 レコードを使用してより簡潔にし、Lombok などの注釈プロセッサを削除することをお勧めします。
レコードを記述するJEPによると、「レコードは、そのデータの単純で透過的な所有者であるというセマンティックな主張を行います」。
明らかに、final フィールドのみを持つジェネリック クラスは、そのデータの透過的なホルダーではありません。また、レコードを使用すると、そのfinal
変数が公開されますが、これは望ましくない場合があります。ただし、多くの場合、これはおそらく大きな問題ではありません。
したがって、これはこの言語機能の「乱用」と見なすのに「十分」ですか? それとも、他にあまり目立たない欠点はありますか?