Запитання з тегом «bounded-wildcard»

14
Що таке PECS (виробник розширює споживчий супер)?
На цей питання є відповіді на Stack Overflow на російському : Використання підстановки в Generics Java Я натрапив на PECS (короткий для « Продюсер extendsта споживач»super ) під час читання генеричних матеріалів. Чи може хтось пояснити мені, як використовувати PECS для усунення плутанини між extendsта super?

2
Java Generics Wildcarding з кількома класами
Я хочу мати об’єкт Class, але я хочу змусити будь-який клас, який він представляє, розширити клас A та реалізувати інтерфейс B. Я можу зробити: Class<? extends ClassA> Або: Class<? extends InterfaceB> але я не можу робити обох. Чи є спосіб це зробити?

5
Мокіто: методи заглушки, які повертають тип із обмеженими дикими картками
Розглянемо цей код: 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 } } Компілятор скаржиться на рядок, який намагається …

6
Java-дженерики (макіяж)
У мене є кілька запитань щодо загальних підстановок на Яві: Яка різниця між List<? extends T>іList<? super T> ? Що таке обмежений підстановочний код і що таке необмежений підстановочний знак?

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) …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.