問題タブ [unbounded-wildcard]
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 - 戻り値の型でワイルドカードを回避する方法
次の型階層があるとします。
は、具象型SomeProvider
で使用可能な List を公開することになっています。(ここでの例を単純化するために、 type に対して指定された 1 つの具象のみを示します。)SpecializedClass
Foo
Bar
https://rules.sonarsource.com/java/RSPEC-1452によると
一般的なワイルドカード型は、戻りパラメーターで使用しないでください
このスニペットは、ソナーによって重大なコードの臭いとしてマークされています。
これまでのところ、ここでワイルドカードを取り除くことができませんでした。ゲッターメソッドをに変更
は警告を回避しますが、クライアントはこのリストに のインスタンスのみが含まれているという情報を失いますSpecializedClass
。
基本的に、ここで 2 つの質問があります。
この場合、これは本当に悪いコードの匂いですか? ここでこの getter メソッドを使用するクライアントの落とし穴は何でしょうか?
戻り値の型にワイルドカードを使用しない場合、ゲッターはどのように見えるでしょうか?
ご協力いただきありがとうございます。