jdk學習之路---java泛型

來源:互聯網
上載者:User

標籤:

1:java泛型的好處是可以實作類別型檢查,比較安全,可以實現功能的擴充化,增強功能。

2:泛型的概念就是參數化類別型,相當於方法中的形式參數一樣,先做一個預留位置然後再在使用的時候傳遞真正的參數進去。

3:

package generic;/** * 自訂泛型類 * @author PC * */public class GenericModel <T>{    private T data;    public GenericModel(){            }    public GenericModel(T data){        this.data = data ;    }    public void setData(T data){        this.data = data;    }    public T getData(){        return this.data;    }}
package generic;public class GenericTest {    public static void main(String[]args){        GenericModel <String>genericModel = new GenericModel<String>();        genericModel.setData("11");        System.out.println("String data"+genericModel.getData());                GenericModel <Integer>genericModel1 = new GenericModel<Integer>();        genericModel1.setData(22);        System.out.println("Integer data"+genericModel.getData());                        /**         * 發現以下兩者的輸出一樣,這說明在真正實現的時候,類只有一個類型,並沒有兩個不同類型的類         * 使用泛型類的時候,雖然傳了兩個型別參數,但是實際在記憶體中只有一個類型的參數         * 究其原因,在於Java中的泛型這一概念提出的目的,         * 導致其只是作用於代碼編譯階段,在編譯過程中,對於正確檢驗泛型結果後,會將泛型的相關資訊擦出,         * 也就是說,         * 成功編譯過後的class檔案中是不包含任何泛型資訊的。泛型資訊不會進入到運行時階段。         *          *          * 泛型型別在邏輯上看以看成是多個不同的類型,實際上都是相同的基本類型。         * */        System.out.println(genericModel.getClass());        System.out.println(genericModel1.getClass());    }}

 

jdk學習之路---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.