java泛型之基礎

主要參考:
http://www.runoob.com/java/java-generics.html
http://download.csdn.net/detail/qeveeqnui/6206751
定義:

    Java泛型(generics)是JDK 5中引入的一個新特性,泛型提供了編譯時類型安全檢測機制,該機制允許程序員在編譯時檢測到非法的類型。
    泛型(Generic type 或者 generics)是對 Java 語言的類型系統的一種擴展,以支持創建可以按類型進行參數化的類甚至是參數化的方法。
    Java泛型方法和泛型類支持程序員使用一個方法指定一組相關方法,或者使用一個類指定一組相關的類型。
    可以定義多個類型參數,

下面是定義泛型類的規則:

    可以把類型參數看作是使用參數化類型時指定的類型的一個佔位符,就像方法的形式參數是運行時傳遞的值的佔位符一樣。常見的用處有在map和list裏。
    泛型類的聲明和非泛型類的聲明類似,除了在類名後面添加了類型參數聲明部分。
    和泛型方法一樣,泛型類的類型參數聲明部分也包含一個或多個類型參數,參數間用逗號隔開。一個泛型參數,也被稱爲一個類型變量,是用於指定一個泛型類型名稱的標識符。因爲他們接受一個或多個參數,這些類被稱爲參數化的類或參數化的類型。
    這種語法中,implements和extends統一寫成extends。

    Example:Problem<T extends Comparable

下面是定義泛型方法的規則:

    1所有泛型方法聲明都有一個類型參數聲明部分(由尖括號分隔),該類型參數聲明部分在方法返回類型之前(在下面例子中的<E>)。   
    2每一個類型參數聲明部分包含一個或多個類型參數,參數間用逗號隔開。一個泛型參數,也被稱爲一個類型變量,是用於指定一個泛型類型名稱的標識符。
    3類型參數可以被用來聲明返回值類型,並且能作爲泛型方法得到的實際參數類型的佔位符。
    4泛型方法方法體的聲明和其他方法一樣。注意類型參數只能代表引用型類型,不能是原始類型(像int,double,char的等)。     

另外關於泛型的特別之處:

<T extends Comparable<? super T>>
首先這是運用了java的泛型
①extends後面跟的類型如<任意字符 extends 類/接口>表示泛型的上限
②同樣的super表示泛型的下限
③<T extends Comparable<? super T>>這裏來分析T表示任意字符名,extends對泛型上限進行了限制即T必須是Comparable<? super T>的子類,然後<? super T>表示Comparable<>中的類型下限爲T!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章