Java 8语言规范在annotation type elements:
的讨论中说注释类型中声明的方法的返回类型必须为1 以下内容,或发生编译时错误:
......类或类的调用(§4.5)
“类的调用”是什么意思?是Class<Number>
之类的,还是更多?
答案 0 :(得分:2)
是的,就是这样。术语很混乱,很少使用,我似乎无法在JSL的任何地方找到它。它在a tutorial,但是:
要在代码中引用通用
Box
类,您必须这样做 执行泛型类型调用,用一些具体的内容替换T
值,例如Integer:Box<Integer> integerBox;
您可以将泛型类型调用视为类似于 普通方法调用,而不是将参数传递给 方法,你传递一个类型参数 - 在这种情况下
Integer
- 到Box
类本身。类型参数和类型参数术语: 许多开发人员使用术语“类型参数”和“类型参数” 可以互换,但这些术语不一样。编码时,一个 提供类型参数以创建参数化类型。 因此,
T
中的Foo<T>
是一个类型参数,而String是Foo<String> f
是一个类型参数。本课程遵循此定义 使用这些条款时。与任何其他变量声明一样,此代码实际上并不存在 创建一个新的
Box
对象。它只是声明integerBox
将成立 对“Box
Integer
”的引用,这是Box<Integer>
的读取方式。泛型类型的调用通常称为参数化 类型。