關於public T method(T t)函式的說明
阿新 • • 發佈:2019-02-09
現有這麼一個函式:
[正確示例]
public <T> T method(T t){
// CODE
return t;
}
上面的程式碼,在public和method之間有兩個部分<T>和T。
其中<T>是為了定義當前我有一個 範型變數型別,型別名使用T來表示,而第二部分T,表示method這個函式的返回值型別為T,其中的<T>只是為了在函式宣告前,定義一種範型;因此下面的函式也是合法的:
[正確示例]
public <T> int method1(T t){ // CODE return 1; }
上面的函式,<T>也是為了定義一種範型,用來提前宣告形參的型別是一個範型變數。
相反的,在使用自定義的範型T之前,如果不首先使用<T>來聲明範型變數的存在的話,編譯器會有錯誤提示:
[錯誤示例]-(沒有聲明範型變數型別T)
public T method(T t){
// CODE
return t;
}
[錯誤示例]-(沒有聲明範型變數型別T)
public int method(T t){
// CODE
return 1;
}