泛型方法:
package com.itheima.generics_method;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
String s = test("hello");
System.out.println(s);
Dog d = test( new Dog());
System.out.println(d);
ArrayList<BMW> bmws = new ArrayList<BMW>();
bmws.add(new BMW());
bmws.add(new BMW());
bmws.add(new BMW());
go(bmws);
ArrayList<BENZ> benzs = new ArrayList<BENZ>();
benzs.add(new BENZ());
benzs.add(new BENZ());
benzs.add(new BENZ());
benzs.add(new BENZ());
go(benzs);
// ArrayList<Dog> dogs = new ArrayList<Dog>();
// dogs.add(new Dog());
// dogs.add(new Dog());
// dogs.add(new Dog());
// go(dogs);
}
public static <T> void test(T t){
}
public static <T extends Car> void test(ArrayList<T> t){
}
// 泛型方法,通配符,在使用时可以表示一切类型, ? extents Car(上限) ? super Car(下限)
public static void go(ArrayList<? extends Car> t){
}
}
通配符使用/上下限:
// 泛型方法,通配符,在使用时可以表示一切类型, ? extents Car(上限) ? super Car(下限)
public static void go(ArrayList<? extends Car> t){
}
泛型擦除以及注意事项:
擦除示例:
有代替的: