有如下代码:
方法test参数是需要C类,但是因为B类继承C,所以我传B是OK的。
public class A {
public static void main(String[] args){
B b = new B();
test(b);
}
private static void test(C c){
}
}
class B extends C{
}
class C{
}
但是如下代码却不行,不理解?
import java.util.ArrayList;
import java.util.List;
public class A {
public static void main(String[] args){
List<B> b = new ArrayList<>();
test(b);
}
private static void test(List<C> c){
}
}
class B extends C{
}
class C{
}
这时候会报错:
test
(java.util.List<com.test.Extends.C>)
in A cannot be applied
to
(java.util.List<com.test.Extends.B>)
实在不理解,请大家指教。
如果我就要传集合,有什么办法吗?
摇曳的蔷薇
繁星coding
茅侃侃
一只名叫tom的猫
凤凰求蛊
随时随地看视频慕课网APP
相关分类