Java 泛型 : Understanding Bounded Wildcards

标签 java generics inheritance wildcard

Generics一章,一句话引起了我的注意。对于以下声明List<? extends Shape> ,它说:

Note: It could be Shape itself, or some subclass; it need not literally extend Shape.

在此上下文中,not literally 是什么意思?

最佳答案

这意味着该类没有扩展 Shape,即 Shape 的直接子类。它也可以是 Shape 本身,也可以是 Shape 的间接子类,或者 Shape 可以是一个接口(interface)实现。作者试图表达的是关键字 extends 的使用是出于方便(向语言添加新关键字是昂贵的)和熟悉,它并不意味着 not可以使用的每种类型都必须在其定义中完全字符串extends Shape

换句话说:作者literally的意思是“literally”与“literally”。

关于Java 泛型 : Understanding Bounded Wildcards,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47207096/

相关文章:

python - 从 Python 的子类中删除属性

c++ - C++中私有(private)继承抽象基类是什么意思

java - 为什么 ArrayList<ArrayList<?>> list = new ArrayList<ArrayList<String>>() 无法编译?

java - 如何在Spring @RestController中注入(inject)完整的请求路径?

java - Guice 类型文字绑定(bind)

java - 创建后不应更改属性

java - System.setProperty 和 System.getProperty

java - 将内容 View 垂直更改为水平后,Android 按钮事件不起作用

TypeScript 泛型类型的泛型类型

java - 需要帮助理解 java 中复杂的泛型声明