java之泛型

來源:互聯網
上載者:User

標籤:否則   generic   extend   stat   ext   類型轉換   asn   div   tor   

 1 /* 2      * a. 泛型的好處 3      *         提高安全性(將運行期的錯誤轉換到編譯期) 4      *         省去強制類型轉換的麻煩 5      * b. 泛型基本使用 6      *         <>中放的必須是引用資料類型 7      * c.泛型使用的注意事項 8      *         前後的泛型必須一致,或者後面的泛型可以省略不寫(1.7新特性菱形泛型) 9      */10     public static void main(String[] args) {11 12         ArrayList<Person> list = new ArrayList<Person>();13         list.add(new Person("張三", 19));14         list.add(new Person("李四", 20));15         Iterator<Person> it = list.iterator();16         while (it.hasNext()) {17             Person p = it.next();18             System.out.println(p.getName() + "..." + p.getAge()); //張三...19  李四...2019 20             //System.out.println(it.next().getName() + "..." + it.next().getAge()); 21             //張三...20  當使用next()方法的時候需要注意,不能直接用it.next()調用屬性或方法,只能調用一次next()方法,否則就會造成資料錯位22         }23     }24 25 ///////////////////////////////////////////////////////////////////////26 27 public class Demo3_Generic {28 29     public static void main(String[] args) {30 31     }32 33 }34 35 interface Inter<T>{36     public void show(T t);37 38 }39 40 class Deom implements Inter<String>{41                                          //第一種實作類別加泛型,推薦用這種方法42     @Override43     public void show(String t) {44         System.out.println(t);45     }46     47 }48 49 class Demo2<T> implements Inter<T>{50                                         //第二種實作類別加泛型,因為沒有必要在類上加泛型51     @Override52     public void show(T t) {53         System.out.println(t);54     }55     56 }57 58 ////////////////////////////////////////////////////////////////////////////59 60 public class Demo4_Generic {61 62     /*63      * A: 泛型萬用字元<?>64      *     任意類型,如果沒有明確,那麼就是Object以及任意的Java類65      * B: ? extends E66      *     向下限定,E及其子類67      * C: ? super E68      *     向上限定,E及其父類69      */70     public static void main(String[] args) {71 72         //List<?> list = new ArrayList<String>();73         ArrayList<Person> list1 = new ArrayList<>();74         list1.add(new Person("張三", 23));75         list1.add(new Person("李四", 24));76         77         ArrayList<Worker> list2 = new ArrayList<>();78         list2.add(new Worker("王五", 25));79         80         list1.addAll(list2);81         82         System.out.println(list1);83         84     }85 86 }87 88 /////////////////////////////////////////////////////////////////

 

java之泛型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.