1. 程式人生 > >Java泛型中的通配符

Java泛型中的通配符

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 static
void 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泛型中的通配符