人到中年有點(diǎn)甜
2021-09-12 15:58:36
以下noGood方法會產(chǎn)生編譯錯誤,因?yàn)樗÷粤司o接在返回類型之前的形式類型參數(shù)T。public static T noGood(T t) { return t;}有人可以幫助我理解為什么靜態(tài)泛型方法需要在返回類型之前具有類型參數(shù)嗎?非靜態(tài)方法不需要嗎?
3 回答

揚(yáng)帆大魚
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個贊
類型參數(shù) ( T
) 在您實(shí)例化類時聲明。因此,實(shí)例方法不需要類型參數(shù),因?yàn)樗怯蓪?shí)例定義的。
static
另一方面,方法不屬于實(shí)例——它們屬于類。由于沒有可以從中獲取類型信息的實(shí)例,因此必須為方法本身指定它。

冉冉說
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個贊
T沒有定義。修飾符的順序和返回類型保持不變。
public static <T> T noGood(T t) {
return t;
}

瀟瀟雨雨
TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個贊
當(dāng)您使用泛型時,您需要使用<>符號聲明它們
在一個班
public class Foo<T, U, V>{
}
在方法中,在返回類型之前
public static <T, U extends Number, V> T foo(T t) {
U u = ..;
...
}
public static <T> int foo(T t) {
...
}
添加回答
舉報
0/150
提交
取消