Java语言规范“类的调用”作为注释类型方法的返回类型
问题描述:
Java的8种语言规范说在annotation type elements讨论:Java语言规范“类的调用”作为注释类型方法的返回类型
在注释类型声明的方法的返回类型必须是一个 以下的,或发生编译时错误:
...类或类的调用(§4.5)
是什么意思与“类的调用”?只是像Class<Number>
,或更多?
答
是的,就是这样。这个术语很混乱,很少使用,我似乎无法在JSL的任何地方找到它。正是在a tutorial,虽然:
从代码中引用泛型
Box
类,必须 执行泛型类型的调用,其中一些具体 值替换T
,如Integer:Box<Integer> integerBox;
您可以将泛型类型调用看作类似于 普通方法调用,但不是将参数传递给 方法,而是在此c中传递一个类型参数 -
Integer
ase - 到Box
类本身。类型参数和类型参数术语: 许多开发人员使用的术语“类型参数”和“类型参数” 可以互换,但这些条款都是不一样的。编码时,一个 提供类型参数以创建参数化类型。 因此,
Foo<T>
中的T
是一个类型参数,并且Foo<String> f
中的字符串是一个类型参数。使用这些术语时,本课观察此定义 。像其他任何变量声明一样,此代码实际上并不 创建新的
Box
对象。它只是声明integerBox
将保留 对“Box
”Integer
的引用,这是如何读取Box<Integer>
。通用类型的调用通常称为参数化的 类型。