泛型的上限
格式: 类型名称 <? extends 类 > 对象名称
意义: 只能接收该类型及其子类
泛型的下限
格式: 类型名称 <? super 类 > 对象名称
意义: 只能接收该类型及其父类型
例子:Object类,String 类,Number类,Integer类
public static void main(String[] args) {
List list1 = new ArrayList();
List list2 = new ArrayList();
List list3 = new ArrayList();
List list4 = new ArrayList();
//上限示例
upperLimit(list1);
upperLimit(list2);//报错
upperLimit(list3);
upperLimit(list4);//报错
//下限示例
lowerLimit(list1);//报错
lowerLimit(list2);//报错
lowerLimit(list3);
lowerLimit(list4);
}
// 泛型的上限:此时的泛型?,必须是Number类型或者Number类型的子类
public static void upperLimit(List<? extends Number> list) {
}
// 泛型的下限:此时的泛型?,必须是Number类型或者Number类型的父类
public static void lowerLimit(List<? super Number> list) {
}