/**
* @Author LWL
* @Date 2022/5/22 23:51
* @TODO 泛型
*/
public class Test<T> {
public static void main(String[] args) {
// <? extends Car> : Car类或者其子类
ArrayList<Son> son = new ArrayList<>();
ArrayList<Father> father = new ArrayList<>();
ArrayList<Car> Car = new ArrayList<>();
ArrayList<MaxCar> maxCar = new ArrayList<>();
go(son);
go(father);
go(Car);
// <? super Car> : Car类或者其父类
go2(Car);
go2(maxCar);
}
//静态方法无法访问类上定义的泛型;如果静态方法操作的引用数据类型不确定的时候,必须要将泛型定义在方法上。
public static <T> void go(ArrayList<? extends Car> arr) {
}
public static <T> void go2(ArrayList<? super Car> arr) {
}
}
class Son extends Car {
}
class Father extends Car {
}
class Car extends MaxCar {
}
class MaxCar {
}
泛型通配符
于 2022-05-23 00:04:55 首次发布