泛型和继承的关系
//5.泛型和继承的关系 @Test public void test5() { //若类A是类B的子类或子接口,则List<A>不是List<B>的子类或子接口 Object obj = null; String str = "AA"; //可以正常赋值 obj = str; Object[] obj1 = null; String[] str1 = new String[]{"AA","BB","CC"}; //可以正常赋值 obj1 = str1; List<Object> list1 = null; List<String> list2 = new ArrayList<String>(); //会报编译错误,原因分析: //假设可以正常赋值,则表示list1指向了new ArrayList<String>()的堆空间, //则将Object类型的数据往list1添加的时候就意味着往该堆空间添加Object类型的数据, //由于该堆空间只能存放String类型的数据,故该假设不成立。 //list1 = list2; }