0
是否指定參數化泛型的繼承關係不足以確保類型安全性?例如:Java泛型擴展仍然會生成未經檢查的轉換警告
public class ListCastFunction<F, T extends F> implements Function<F, T> {
public final T apply(final F from) {
return (T) from;
}
}
這仍然會生成編譯器警告。如果我們知道T extends F
,它真的沒有選中?
謝謝。有沒有明確要求'F'給出的是'T'而沒有刻意檢查? –
在聲明中使用'T'而不是'F'? – sisyphus
@CannonPalms確保'F'是'T'的唯一方法是如果'F extends T' - 然後你不需要投射 - 但是你也可以只使用'new ArrayList(listOfT)' ,不需要'ListCastFunction'。 –