3
爲什麼通用T
不能用作返回類型class
如果T extends Class
。Java泛型錯誤理解
例子:
public class Foo<T extends Bar> {
Bar[] array = new Bar[200];
Optional<T> forIndex(int index) {
return Optional.ofNullable(array[index]);
}
}
T
需要延長Bar
這意味着T
不應該有一個鑄造的問題,還是我弄錯呢?有人能詳細說明嗎?
看起來像這樣會變成一堆抽象方法的惡劣情況。 '哎呀:'我在問題框中編寫了示例:P – Hobbyist
如果只有通用數組更容易使用。 – Hobbyist
Java泛型的已刪除特性確保了數組和泛型不能很好地混合:數組是協變和保留的,泛型是不變的並且被刪除。 – scottb