猿问

请教一个java泛型的问题

有如下代码:方法test参数是需要C类,但是因为B类继承C,所以我传B是OK的。
publicclassA{
publicstaticvoidmain(String[]args){
Bb=newB();
test(b);
}
privatestaticvoidtest(Cc){
}
}
classBextendsC{
}
classC{
}
但是如下代码却不行,不理解?
importjava.util.ArrayList;
importjava.util.List;
publicclassA{
publicstaticvoidmain(String[]args){
Listb=newArrayList<>();
test(b);
}
privatestaticvoidtest(Listc){
}
}
classBextendsC{
}
classC{
}
这时候会报错:
test
(java.util.List)
inA cannotbeapplied
to
(java.util.List)
 
实在不理解,请大家指教。如果我就要传集合,有什么办法吗?
哔哔one
浏览 517回答 2
2回答

ABOUTYOU

参数修改为privatestaticvoidtest(List

三国纷争

这种情况下应该这样声明:privatestaticvoidtest(List
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答