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将保留 对“BoxInteger的引用,这是如何读取Box<Integer>

通用类型的调用通常称为参数化的 类型。