我是 Java 泛型的新手,我目前正在尝试使用泛型编码......最终目标是将旧的非泛型遗留代码转换为泛型......
我已经用 IS-A 定义了两个类,即一个是另一个的子类。
public class Parent {
private String name;
public Parent(String name) {
super();
this.name = name;
}
}
public class Child extends Parent{
private String address;
public Child(String name, String address) {
super(name);
this.address = address;
}
}
现在,我正在尝试使用有界通配符创建一个列表。并得到编译器错误。
List<? extends Parent> myList = new ArrayList<Child>();
myList.add(new Parent("name")); // compiler-error
myList.add(new Child("name", "address")); // compiler-error
myList.add(new Child("name", "address")); // compiler-error
有点糊涂。请帮我看看这有什么问题?