Вопросы по теме 'bounded-wildcard'

Дженерики Java (подстановочные знаки)
У меня есть пара вопросов об общих подстановочных знаках в Java: В чем разница между List<? extends T> и List<? super T> ? Что такое ограниченный подстановочный знак и что такое неограниченный подстановочный знак?
72116 просмотров
schedule 24.05.2022

Дженерики в Java с использованием подстановочных знаков
У меня есть вопрос о дженериках в Java, а именно об использовании подстановочных знаков. У меня есть пример класса GenClass: public class GenClass<E> { private E var; public void setVar(E x) { var = x; } public E...
1907 просмотров
schedule 01.11.2022

Универсальная коллекция Java универсального типа с ограниченным подстановочным знаком
Пожалуйста, помогите мне с этим: Если Lion IS-A Animal и задано Cage<T> : Cage<? extends Animal> c = new Cage<Lion>(); // ok, но Set<Cage<? extends Animal>> cc = new HashSet<Cage<Lion>>();...
904 просмотров

Добавление элемента внутри подстановочного типа ArrayList
Я пытаюсь добавить элемент в список, где параметр типа списка является подстановочным знаком, расширяющим вопрос. ArrayList<? extends Question> id = new ArrayList<? extends Question>(); id.add(new Identification("What is my...
2049 просмотров

Общие нижние несвязанные и верхние подстановочные знаки
import java.util.List; import java.util.ArrayList; interface Canine {} class Dog implements Canine {} public class Collie extends Dog { public static void main(String[] args){ List<Dog> d = new ArrayList<Dog>();...
1693 просмотров
schedule 21.10.2023

Используйте универсальный для хранения общего супертипа в Java
Предположим, у меня есть метод «mix», который принимает два списка, возможно, разных типов T и S, и возвращает один список, содержащий элементы обоих. В целях безопасности типов я хотел бы указать, что возвращаемый список имеет тип R, где R — это...
895 просмотров
schedule 22.09.2023

Вложенный универсальный тип Java
Почему нужно использовать общий тип Map<?, ? extends List<?>> вместо более простого Map<?, List<?>> для следующего метода test() ? public static void main(String[] args) { Map<Integer,...
17629 просмотров

Разница в присваиваемости с вложенными подстановочными знаками в дженериках Java 7/8
Следующий код прекрасно компилируется в JDK8, но выдает ошибку несовместимые типы в JDK7. List<List<? extends Number>> xs = Arrays.asList(Arrays.asList(0)); Согласно этому ответу , List<List<? extends Number>> не...
462 просмотров
schedule 20.03.2023

разница между созданием неограниченного и ограниченного массива подстановочных знаков?
Почему этот код действителен ArrayList<?>[] arr = new ArrayList<?>[2]; а следующие два нет? ArrayList<? extends Object>[] arr = new ArrayList<? extends Object>[2]; ArrayList<? super Object>[] arr = new...
1293 просмотров

Универсальные шаблоны и подстановочные знаки java.lang.Class
Почему следующий код не компилируется? interface Iface<T> { } class Impl<T> implements Iface<T> { } class TestCase { static Class<? extends Iface<?>> clazz = Impl.class; } Ошибка Java: несовместимые...
881 просмотров
schedule 11.04.2023

Невозможно передать внутренний класс универсального подкласса, используя ограниченный подстановочный знак
Отказ от ответственности : этот вопрос содержит код, использующий библиотеку rxjava , но проблема не связана с ней. Я предоставляю всю информацию, необходимую для ответа тем, кто не знаком с этой библиотекой. У меня есть следующий метод, который...
294 просмотров
schedule 09.08.2022

Java: возникли проблемы с реализацией интерфейса ограниченных дженериков
Я просмотрел множество вопросов и других статей в Интернете, но, похоже, не могу найти тот, который подходит для моего конкретного случая, и ни одно из других решений не помогло мне. У меня есть этот интерфейс здесь: public interface...
345 просмотров

Почему этот общий код Java с ограниченным подстановочным знаком не компилируется?
Я читал прекрасный FAQ по Java Generics от Анжелики Лангер , когда прочитал этот пример исходного кода. что я не могу понять: import java.util.List; import java.util.ArrayList; import java.lang.Number; import java.lang.String; import...
78 просмотров

java generics ограниченные подстановочные знаки `? супер ? расширяет T`
Я натыкаюсь на эту проблему миллион раз, и я не могу понять это. Предположим, у меня есть поток seq типа Stream<? extends T> , и я хочу выполнить forEach для его элементов. Тип потребителя теперь становится Consumer<? super ?...
89 просмотров
schedule 22.06.2023

Компаратор Java 8, сравнивающий статическую функцию
Для сравнения исходного кода в классе Comparator public static <T, U extends Comparable<? super U>> Comparator<T> comparing( Function<? super T, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor);...
1505 просмотров
schedule 24.05.2024

PECS для дженериков в неколлекциях
Джошуа Блох придумал PECS, в которой указано правило, когда использовать ? extends T и ? super T . Если вы думаете о PECS с точки зрения структуры коллекций, то все очень просто. Если вы добавляете значения в структуру данных, используйте ?...
206 просмотров

Выделение общего типа с ограниченным подстановочным знаком с использованием алмаза
Следующий код: Set<? extends Integer> set = new HashSet<>(); Компилируется нормально. Однако суть использования ромбовидной нотации как раз в том, чтобы не переписывать снова параметр типа LHS. Это означает, что приведенное выше...
20 просмотров
schedule 22.06.2022

Пользовательская логика для определенных ограниченных универсальных типов в Java
У меня есть следующая иерархическая структура для A , B и C : interface A { } class B implements A { } class C implements A { } Я хочу разработать общий метод, который принимает Set любого подтипа A и выполняет некоторую...
28 просмотров
schedule 25.01.2023