以下是示例代码:
public static BaseListAdapter<? extends Item> getListAdapter() {
...
}
...
public class MyClass<T extends Item> {
...
BaseListAdapter<T> adapter = (BaseListAdapter<T>) getListAdapter();
...
}
编译器提示存在未检查的类型转换。
java: unchecked cast
need: BaseListAdapter<T>
found: BaseListAdapter<capture#1, ? extends Item>
我想知道为什么会出现这个警告,以及如何解决它。
BaseListAdapter<? extends Item>
是类型BaseListAdapter<T>
。编译器只是说他无法验证这个转换,所以你需要自己承担风险。 - Vincent van der Weele