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. 另一个Java泛型混乱
- 5. 混乱与Java泛型和子类
- 6. 甲泛型混乱:欺骗编译
- 7. 泛型和通配符
- 8. Java泛型和通配符
- 9. Java泛型通配符
- 10. Java泛型 - 通配符
- 11. Java泛型:通配符
- 12. Java泛型通配符
- 13. java泛型和通配符
- 14. Java泛型:通配符
- 15. 泛型通配符再次。
- 16. 通配符类型的泛型
- 17. 双通配符泛型类型错误
- 18. SML型混乱
- 19. URL配置混乱
- 20. 泛型通配符不能转换为泛型
- 21. Java:通配符/泛型的问题
- 22. 上下界通配符的Java泛型
- 23. 泛型与上下文到通配符
- 24. 上的Java泛型约束通配符
- 25. Java泛型插入的通配符
- 26. 泛型通配符的正确使用
- 27. java通配符中的泛型
- 28. (?)通配符泛型的不规则性
- 29. 泛型集合和通配符的Java
- 30. java泛型中的通配符
假设类不是最终的,然后呢? 如果东西继承形式类不能它仍然在容器? –
whomaniac
阅读我的更新。 –