Может кто-нибудь объяснить мне, почему я получаю сообщение об ошибке только при создании B в следующем коде:Java общий интерфейс в коллекции
public class factory {
public <T> void createA(List<I<T>> c) {
A a = new A(c);//warning here
}
public <T> void createB(List<I<T>> c) {
B b = new B(c);//error here: The constructor B(List<I<T>>) is undefined
}
}
interface I<T> {
}
class B implements I<Integer> {
public B(List<I<?>> c) {
}
}
class A<T> implements I<T> {
public A(List<I<?>> c) {
}
}
B класса является общим и А не является, но я понятия не имею, почему это важно в таком случае.
Надеюсь, вы импортировали «Список». Если нет, я думаю, что это ошибка. –
Какое сообщение об ошибке вы получаете, точно? –
Я пропустил импортные заявления, это не проблема. Я получаю: «Конструктор B (список >) не определен» как я писал в комментарии. –