public class GenericTest6 {
@Test
public void test01() {
Object obj = null;
String str = null;
obj = str;
Integer[] arr = null;
Object[] arr2 = null;
//数组可以进行类型自动类型转换
arr2 = arr;
List<Integer> list = new ArrayList<>();
List<Object> list2 = new ArrayList<>();
//集合无法进行类型自动类型转换,报错(Incompatible types.)
//虽然类A是类B的父类,但是G<A> 与 G<B>不具备父子类关系,二者是并列关系
//此时list 与 list2 不具备子父类关系
//list2 = list;
Date date = new Date();
//无法进行类型自动类型转换,与上述报错一样(Incompatible types.)
//str = date;
//如果类A与类B的有子父类关系,那么A<G> 与 B<G>也是子父类关系
List<Integer> objects1 = new ArrayList<>();
ArrayList<Integer> objects = new ArrayList<>();
objects1 = objects;
}
}