我試圖找出以下方法是如何的類型是擦除如何刪除通用列表類型?當我嘗試它自己,它給出了一個錯誤
public class Util {
public static <T extends Number> int sum(List<T>list){
int sum=0;
for(Number n:list){
sum+=n.intValue();
}
return sum;
}
}
我讀的類型參數與它的第一個綁定的替代。 所以我試過了,卻得到了一個錯誤:編譯器的類型檢查階段後
public static int sum3(List list){
int sum=0;
for(Number n:list){ <- Type mismatch: cannot convert from element type Object to Number
sum+=n.intValue();
}
return sum;
}
@Tunaki那個笨蛋真的沒有回答OP的問題。 –
@Andy在for-each循環中使用原始列表不是同一個問題嗎?在鏈接的問題中,他們有'for(String s:perms){''perms'是一個'List',這也是OP在這裏所具有的。 – Tunaki
@Tunaki,但OP是專門詢問「如何刪除以下方法」。該複製品基本上說「不使用原始類型」 - 當然,這是很好的建議 - 但不提供OP顯然想知道的內容。 –