圖 使用類向導創建范型類 使用Eclipse接口向導創建范型接口
圖 使用接口向導創建范型接口 范型方法
類型參數(type parameter)不僅僅可以用來聲明范型類或者范型接口
也可以用來聲明范型方法
而且這種聲明的范型方法可以用在非范型類中
聲明范型方法的一般格式是
清單
范型方法的一般形式
return
type method
name(parameter
list) {}
清單
范型方法示例
public String getString(T obj) {
return obj
toString();
}
受限范型
受限范型是指類型參數的取值范圍是受到限制的
extends關鍵字不僅僅可以用來聲明類的繼承關系
也可以用來聲明類型參數(type parameter)的受限關系
例如
我們只需要一個存放數字的列表
包括整數(Long
Integer
Short)
實數(Double
Float)
不能用來存放其他類型
例如字符串(String)
也就是說
要把類型參數T的取值范型限制在Number極其子類中
在這種情況下
我們就可以使用extends關鍵字把類型參數(type parameter)限制為數字
清單
受限范型示例
public class Limited {
public static void main(String[] args) {
Limited number; //正確
Limited str; //編譯錯誤
}
}
在Eclipse
中
上例中的編譯錯誤信息如下圖所示
圖 由於受限范型導致的編譯錯誤 在程序中使用范型
在程序中使用范型類
在創建范型類的對象的時候
和創建普通對象基本類似
必須提供具體的類類型來替代類型參數T (J
SE
目前不支持原始類型作為類型參數(type parameter))
清單
使用范型類
//如果需要整型的列表
GenList integerList = new GenList();
//如果需要字符型的列表
GenList strList = new GenList();
//不能使用原始類型
GenList nList = new GenList(); //編譯錯誤
使用范型解決類型安全性問題
使用范型實現的列表是類型安全的
下列破壞類型安全語句會在編譯的時候檢查出來
把鼠標放在錯誤標記上
Eclipse
中的錯誤提示就會顯示
如下圖所示
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28883.html