java泛型中 區別


public static void printColl(ArrayList<?> al){
                Iterator<?> it = al.iterator();
                while(it.hasNext())
                {
                        System.out.println(it.next().toString());
                }
?和T都表示不確定的類型  但如果是T的話 函數里面可以對T進行操作 比如while里面可以這樣寫
T t = it.next();
System.out.println(t);

T自定義泛型和?通配符泛型。

泛型三種:
          [1]ArrayList<T> al=new ArrayList<T>();指定集合元素只能是T類型
          [2]ArrayList<?> al=new ArrayList<?>();集合元素可以是任意類型,這種沒有意義,一般是方法中,只是為了說明用法
          [3]ArrayList<? extends E> al=new ArrayList<? extends E>();
            泛型的限定:
               ? extends E:接收E類型或者E的子類型。
               ?super E:接收E類型或者E的父類型。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM