1
Q
泛型通配符混亂
A
回答
3
由於Class類別爲final
,所以<? extends Class>
僅適用於Class
類型。
因此,Container<Class>
和Container<? extends Class>
之間沒有功能差異。
更新:如果您的問題涉及到什麼是通配符?如果我們假設我們不是在談論Class
,但其他一些(可擴展)類型,這裏的區別:
比方說,我們有兩大類:
class Shape
class Rectangle extends Shape
請考慮以下方法簽名:
public void addRectangle(List<? extends Shape> shapes)
這是有界通配符的示例,其中Shape
部分稱爲upper bound
。
public void addRectangle(List<? extends Shape> shapes) {
// Compile-time error!
shapes.add(0, new Rectangle());
}
的原因編譯時錯誤是第二參數,以shapes.add()
類型是? extends Shape
,其在人類語言意味着形狀的一個未知的亞型。由於我們不知道它是什麼類型,我們不知道它是否是超類型Rectangle
。它可能也可能不是這樣的超類型,所以在那裏通過Rectangle
是不安全的。
的例子取自:
相關問題
- 1. Java泛型混亂
- 2. 通配符泛型
- 3. 通配符泛型
- 4. 甲泛型混亂:欺騙編譯
- 5. 混亂與Java泛型和子類
- 6. 另一個Java泛型混亂
- 7. Java泛型:通配符
- 8. java泛型和通配符
- 9. Java泛型和通配符
- 10. Java泛型通配符
- 11. Java泛型 - 通配符
- 12. 泛型和通配符
- 13. Java泛型:通配符
- 14. 泛型通配符再次。
- 15. Java泛型通配符
- 16. 雙通配符泛型類型錯誤
- 17. 泛型類型參數通配符
- 18. 通配符類型的泛型
- 19. SML型混亂
- 20. URL配置混亂
- 21. 泛型通配符不能轉換爲泛型
- 22. 的Java泛型通配符擴展
- 23. Java泛型 - 何時?通配符需要
- 24. Java - 泛型通配符問題
- 25. java通配符中的泛型
- 26. 下界通配符Java泛型
- 27. 嵌套的泛型和通配符
- 28. 泛型和通配符在Java
- 29. Java泛型插入的通配符
- 30. Java:通配符/泛型的問題
假設類不是最終的,然後呢? 如果東西繼承形式類不能它仍然在容器? –
whomaniac
閱讀我的更新。 –