Java 8语言规范在讨论注释类型元素时说:
在批注类型中声明的方法的返回类型必须为 1,或发生编译时错误:
。类或类的调用(§4.5(
"类的调用"是什么意思?只是像Class<Number>
,还是不止于此?
是的,就是这样。该术语令人困惑,很少使用,我似乎在JSL的任何地方都找不到它。不过,它在教程中:
若要从代码中引用泛型
Box
类,必须 执行泛型类型调用,将T
替换为一些具体内容 值,例如整数:Box<Integer> integerBox;
您可以将泛型类型调用视为类似于 普通方法调用,但不会将参数传递给 方法,您正在传递一个类型参数(在本例中
类型参数Integer
Box
类本身。和类型参数术语: 许多开发人员使用术语"类型参数"和"类型参数" 可以互换,但这些术语并不相同。编码时,一个 提供类型参数以创建参数化类型。 因此,
Foo<T>
中的T
是类型参数,而 String 中的Foo<String> f
是一个类型参数。本课遵循此定义 使用这些术语时。与任何其他变量声明一样,此代码实际上并不 创建新的
Box
对象。它只是宣布integerBox
将持有 对"Integer
Box
"的引用,这就是Box<Integer>
的阅读方式。泛型类型的调用通常称为参数化 类型。