注意List<String>对象 不能当成List<Object>对象使用 前者不是后者的子类
这点很重要 数组有时也是如此
public class ArrayErr
{
public static void main(String[] args)
{
// 定义一个Integer数组
Integer[] ia = new Integer[5];
// 可以把一个Integer[]数组赋给Number[]变量
Number[] na = ia;
// 下面代码编译正常,但运行时会引发ArrayStoreException异常
// 因为0.5并不是Integer
na[0] = 0.5; //①
List<Integer> iList = new ArrayList<>();
// 下面代码导致编译错误
List<Number> nList = iList;
}
}
List<?> ?类型通配符 可以匹配任何类型 代表是各种泛型的父类
List<String>并不是List<Object>的子类