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'。 –