タグ付けされた質問 「bounded-wildcard」

14
PECS(Producer Extends Consumer Super)とは何ですか?
OverаэтотвопросестьответынаStack Overflowнарусском:wildспользованиеwildcardвGenerics Java ジェネリックを読んでいるときにPECS(プロデューサーextendsとコンシューマーのsuper略)に出会いました。 extendsとの間の混乱を解決するためにPECSを使用する方法を誰かに説明できますかsuper?


5
Mockito:バインドされたワイルドカードで型を返すスタブメソッド
このコードを考えてみましょう: public class DummyClass { public List<? extends Number> dummyMethod() { return new ArrayList<Integer>(); } } public class DummyClassTest { public void testMockitoWithGenerics() { DummyClass dummyClass = Mockito.mock(DummyClass.class); List<? extends Number> someList = new ArrayList<Integer>(); Mockito.when(dummyClass.dummyMethod()).thenReturn(someList); //Compiler complains about this } } コンパイラは、の動作をスタブ化しようとしている行について文句を言いdummyMethod()ます。ワイルドカードがバインドされた型を返すメソッドをスタブする方法についてのポインタはありますか?


5
Java:制限付きワイルドカードまたは制限付き型パラメーター?
最近、私はこの記事を読みました:http: //download.oracle.com/javase/tutorial/extra/generics/wildcards.html 私の質問は、次のようなメソッドを作成する代わりに、次のようになります。 public void drawAll(List<? extends Shape> shapes){ for (Shape s: shapes) { s.draw(this); } } このようなメソッドを作成できますが、正常に機能します。 public <T extends Shape> void drawAll(List<T> shapes){ for (Shape s: shapes) { s.draw(this); } } どちらの方法を使用すればよいですか?この場合、ワイルドカードは役に立ちますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.