Вопросы по теме 'bounded-wildcard'
Что означает List ‹?› В java-дженериках?
Что означает List<?> , означает ли это просто список объектов неопределенного типа?
Поиск в Google строки <?> ничего полезного не возвращает (:
44098 просмотров
schedule
18.11.2021
Generic: ArrayList из? Расширяет ISomeInterface в Java
У меня проблемы со следующим кодом.
public ArrayList<? extends IEvent> getEventsByDateRange(DateTime minStartTime, DateTime minEndTime)
{
ArrayList<? extends IEvent> returnedEvents = new ArrayList<GoogleEvent>();...
2006 просмотров
schedule
02.10.2021
Эквивалент .NET для ограниченного подстановочного знака Java (IInterf ‹?›)?
Я застрял, пытаясь перевести некоторый Java-код, который использует (ограниченные) обобщенные символы подстановки, на C #. Моя проблема в том, что Java, похоже, позволяет универсальному типу быть как ковариантным, так и контравариантным при...
564 просмотров
schedule
02.12.2021
java.util.Comparator.naturalOrder принимает ‹T extends Comparable‹? super T ›› и возвращает компаратор ‹T› - почему?
(Если это дубликат, укажите мне правильный ответ! Я просмотрел и прочитал несколько (> 5) связанных вопросов, но ни один из них не попал в точку. Также посмотрел FAQ по Generics и другие источники ...)
Очевидно, правильная практика заключается в...
3602 просмотров
schedule
30.10.2021
Java Generics: множественное наследование в параметрах ограниченного типа ‹T extends A & I›
Я собираюсь создать фабрику, которая создает объекты определенного типа T, который расширяет определенный класс A и другой интерфейс I. Однако T не должен быть известен. Вот минимальные декларации:
public class A { }
public interface I { }...
16876 просмотров
schedule
12.03.2022
В чем разница между ограниченными подстановочными знаками и параметрами типа?
Есть ли разница между
<N extends Number> Collection<N> getThatCollection(Class<N> type)
а также
Collection<? extends Number> getThatCollection(Class<? extends Number>)
5350 просмотров
schedule
29.03.2022
Разница между экзистенциальными типами Scala и подстановочными знаками Java на примере?
Немного более конкретный, чем вопрос о переполнении стека Что такое экзистенциальный тип? , в чем разница между экзистенциальными типами в Scala и подстановочными знаками в Java, желательно на каком-нибудь иллюстративном примере?
Во всем,...
7108 просмотров
schedule
25.04.2022
Общие методы Java: super нельзя использовать?
Итак, у меня есть этот метод:
protected void collectSelectedItems(ListSelectionModel lsm,
Collection<? super MyItemClass> result) {
for (int i : GUI.getSelectionIndices(lsm))
{
result.add(getItemByDisplayIndex(i));...
6661 просмотров
schedule
26.06.2022
Подстановочный знак с нижней границей не проверяется на соответствие параметру типа с верхней границей
Интересно, почему этот фрагмент кода успешно компилируется?
Исходный код:
abstract class A<K extends Number>
{
public abstract <M> A<? super M> useMe(A<? super M> k);
}
Компилировано успешно
Как это...
210 просмотров
schedule
30.06.2022
Странное поведение подстановочных знаков при вызове метода
Я просматривал тему с подстановочными знаками в Java, где застрял в этом коде ниже.
static <T> void type(List<? super T> list){
//...
}
static <T> void type2(List<? extends T> list){
//...
}
Если...
96 просмотров
schedule
14.07.2022
Почему это назначение с использованием подстановочных знаков допустимо в Java?
Большинство вопросов о подстановочных знаках хотят знать, почему что-то разумное отклоняется компилятором. Мой вопрос наоборот. Почему следующая программа принимается компилятором?
void test(List<? extends Number> g1, List<? extends...
114 просмотров
schedule
15.07.2022
Почему метод getInterfaces() java.lang.Class возвращает Class‹?›[] а не Class‹? супер Т›[]?
(Чтобы прояснить вопрос, «T» относится к параметру типа, объявленному в классе)
В качестве примера рассмотрим следующее приложение:
public class TestClass {
interface InterfaceA{}
interface InterfaceB{}
interface InterfaceC{}...
2379 просмотров
schedule
01.09.2022
Почему тернарному оператору не нравятся универсальные типы с ограниченными подстановочными знаками?
Следующий класс определяет два метода, оба из которых интуитивно имеют одинаковую функциональность. Каждая функция вызывается с двумя списками типа List<? super Integer> и логическим значением, указывающим, какой из этих списков должен быть...
1238 просмотров
schedule
02.09.2022
Ограниченные подстановочные знаки Java Generics
Это довольно надуманный пример, который я делаю для изучения потоков Java, но, как мне кажется, застрял в общей проблеме с подстановочными знаками. Мой код ниже. Я пытаюсь прочитать каждый объект Employee из списка, применить функцию, получить...
77 просмотров
schedule
08.09.2022
Ограниченный подстановочный знак Java
Мне нужно определить общий класс, а параметр типа должен быть перечислением. Я думаю, это должно выглядеть примерно так
public class <T> MyClass<T extends Enum<T>> {
}
Но я не могу понять точный синтаксис. Я должен...
137 просмотров
schedule
21.12.2022
Создание нового универсального объекта с подстановочным знаком
Пожалуйста, объясните эту общую ошибку времени компиляции подстановочного знака кода:
//no compile time error.
List<? extends Number> x = new ArrayList<>();
//compile time error.
List<? extends Number> x = new ArrayList<?...
3622 просмотров
schedule
24.01.2023
Общий с нижним подстановочным знаком ‹? супер собака›
class Animal{}
class Dog extends Animal{}
class Cat extends Animal{}
public class Mixer<A extends Animal>{
public <C extends Cat> Mixer<? super Dog> useMe(A a, C c){
//return new Mixer<Object>();//KO
return...
295 просмотров
schedule
27.09.2023
Почему нельзя назначить I ‹? расширяет Type› до ‹Type›?
Следующие утверждения:
URLClassLoader ucl = (URLClassLoader) ClassLoader.getSystemClassLoader();
Class<URLClassLoader> uclc = ucl.getClass();
сбой с ошибкой:
Type mismatch: cannot convert from Class<capture#2-of ? extends...
1795 просмотров
schedule
11.01.2023
Как сказать Карта класса‹?› перечислить‹Класс› в Java?
Скажем, у меня есть
HashMap<?, List<?>> map = new HashMap<>();
map.put(String.class, new ArrayList<Long>());
Следующий код будет скомпилирован.
Однако я хочу потерпеть неудачу при компиляции, потому что ArrayList не...
1703 просмотров
schedule
05.03.2023
Подпись Java 'reduceLeft' / Аргументы типа с нижней границей
Следующая подпись действительна и обычно используется в Scala:
trait Collection[A] {
def reduceLeft [B >: A] (f: (B, A) => B): B
}
Однако, поскольку >: является Scala-эквивалентом super в Java, моей первой идеей преобразовать...
293 просмотров
schedule
03.06.2023