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
阅读我的更新。 –