的Java是不是讓我加類型聲明的子類,這個類Java泛型插入的通配符
public class Exam<T> {
public void set(Holder<? super T> hold){
}
public T get(Holder<? extends T> holder){ return holder.get();}
public static void main (String[] args){
Exam<Question> eq = new Exam<Question>();
eq.set(new Holder<Identification>());
}
}
如果鑑定是問題的一個子類。
,這我holder類看起來像
public class Holder<T> {
T item;
public void set(T item){ this.item = item; }
public T get(){return item;}
}
錯誤
The method set(Holder<? super Question>) in the type Exam<Question> is not applicable for the arguments (Holder<Identification>)
有什麼編譯器錯誤? – vulkanino
@vulkanino更新了它。 – user962206
'Identification'是'Question'的子類,而你在'set'中聲明它應該是一個超類。 – vulkanino