import java.util.*;
class lx{
public static void main(String[] args){
ArrayList al=new ArrayList();
 al.add("shid");
                 al.add(12);
                 System.out.print(al);
}
}
我这么写也没挂啊 是咋么回事??

解决方案 »

  1.   

    JAVA泛型的? extends和? super的比较
    简单说如果你要往list里面add东西不能用? extends这种形式
    一般直接用接口或父类就好了
    List<Person> list = new ArrayList<>();
    list.add(new Student("Name", 12));
    如果你不参数化泛型,像下面的代码ArrayList al = new ArrayList()这样,那实际等价于ArrayList<Object> al = new ArrayList<Object>(),也就是这个list接受一切Object对象,当然你就可以add任何东西。