我就创建了两个集合list,然后定义了泛型。为什么几个add都编译出错的???
public class B {
public static void main(String[] a) {
ArrayList<? extends String> aaa = new ArrayList<String>();
aaa.addAll("st");
aaa.add("aaa");
} public void takelist(ArrayList<? extends Object> list) {
list.addAll("st");
list.add("add");
}
}
public class B {
public static void main(String[] a) {
ArrayList<? extends String> aaa = new ArrayList<String>();
aaa.addAll("st");
aaa.add("aaa");
} public void takelist(ArrayList<? extends Object> list) {
list.addAll("st");
list.add("add");
}
}
ArrayList<? extends Object> list这样的代码有意义吗?
String是final类型的,不能被子类继承这是内置的设计。
后面? extends Object就更不用说了。
{
public static void main(String[] args)
{
ArrayList <String> list = new ArrayList<String>();
list.add("st");
list.add("aaa");
System.out.println(list);
}
}
/*
* output:
* [st, aaa]
*/
public static void main(String[] a) {
ArrayList<String> aaa = new ArrayList<String>();
aaa.add("st");
aaa.add("aaa");
} public void takelist(ArrayList<String> list) {
list.add("st");
list.add("add");
}
}