public class MyGeneric<T> {}
表示T继承Object,相当于,<T extends Object>{}
public class MyGeneric<T extends List>{}
表示T只能是List子接口或者子类
public class MyGeneric<T extends List&Map>{}
表示T只能是List子接口或者子类或者Map子接口或者子类
ArrayList<Object> = new Array<String>
表面看起来String可以放入到Object,其实不行
因为Object列表中可以放入任何对象,而String只能放入字符串
public class MyGeneric<?> {}
?是通配符,表示可以接受任意具体类型
泛型通配符只能用于引用声明,不可以创建对象
ArrayList<?> al= new ArrayList<?>
泛型引用不可以调用使用了泛型参数的方法
public class MyGeneric<T super List>{}
表示T只能是List父类或者父接口