Вопросы с тегом «bounded-wildcard»

14
Что такое PECS (продюсер продвигает Consumer Super)?
На этом вопросе есть ответы на Переполнение стека на русском : Использование подстановочных знаков в Generics Java Я сталкивался с PECS (сокращение от Producer extendsи Consumersuper ), читая дженерики. Может кто-нибудь объяснить мне, как использовать PECS для разрешения путаницы между extendsи super?

2
Универсальные символы Java с несколькими классами
Я хочу иметь объект Class, но я хочу заставить любой класс, который он представляет, расширить класс A и реализовать интерфейс B. Я могу сделать: Class<? extends ClassA> Или: Class<? extends InterfaceB> но я не могу сделать оба. Есть ли способ сделать это?

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 } } Компилятор жалуется на строку, которая пытается …


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); …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.