Java泛型中的通配符
阿新 • • 發佈:2017-07-31
blog sys public 方式 普通 泛型類 ring pri arraylist
Java泛型中的通配符可以直接定義泛型類型的參數。而不用把該函數定義成泛型函數。
public class GenericsTest { public static void main(String[] args) { List<String> name = new ArrayList<String>(); List<Integer> age = new ArrayList<Integer>(); List<Number> number = new ArrayList<Number>(); name.add("icon"); age.add(18); number.add(314); //getUperNumber(name);//1 getUperNumber(age);//2 getUperNumber(number);//3 }
//通配符方式實現,很簡潔 public static void getData(List<?> data) { System.out.println("data :" + data.get(0)); } public staticvoid getUperNumber(List<? extends Number> data) { System.out.println("data :" + data.get(0)); }
//普通方式實現
public static <T>void getData(List<T> data) { System.out.println("data :" + data.get(0)); } public static <T extends Number>void getUperNumber(List<T>data) { System.out.println("data :" + data.get(0)); }
}
Java泛型中的通配符