泛型的通配符和上下限

1. 通配符

  • 就是?,可以在“使用泛型”的时候代表一切类型;E T K V是在定义泛型的时候使用。
public static void go(ArrayList<?> cars) {
}

2. 泛型的上下限

  • 泛型上限:?extends Car:?能接收的必须是Car或者其子类。
public static void go(ArrayList<? extends Car> cars){
}
  • 泛型下限:?super Car:?能接收的必须是Car或者其父类。
public static void go(ArrayList<? super Car> cars){
}

更多推荐