Java 语言规范:“类的调用”作为注释类型中方法的返回类型

Han*_*örr 5 java language-features

Java 8 语言规范在注释类型元素的讨论中说:

注解类型中声明的方法的返回类型必须是以下之一,否则会发生编译时错误:

...类或类的调用(第 4.5 节)

“调用类”是什么意思?只是类似的东西Class<Number>,还是更多?

Ser*_*nov 3

是的,就是这样。该术语很混乱,很少使用,而且我似乎在 JSL 中找不到它。不过,它在教程中:

\n\n
\n

Box要从代码中引用泛型类,您必须执行泛型类型调用,该调用将替换T为某些具体值,例如 Integer:

\n\n
Box<Integer> integerBox;\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以将泛型类型调用视为与普通方法调用类似,但不是将参数传递给方法,而是传递类型参数 \xe2\x80\x94Integer在本例中为 \xe2\x80 \x94 到\nBox类本身。

\n\n

类型参数和类型参数术语: \n 许多开发人员互换使用术语“类型参数”和“类型参数”\n,但这些术语并不相同。编码时,one\n 提供类型参数以创建参数化类型。\n 因此,inTFoo<T>类型参数,而 String in\n Foo<String> f是类型参数。本课程在使用这些术语时将遵循此定义。

\n\n

与任何其他变量声明一样,此代码实际上并不创建新Box对象。它只是声明integerBox将保留对“ Boxof Integer”的引用,这就是Box<Integer>读取的方式。

\n\n

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

\n
\n