Java 语言规范:"an invocation of Class"作为注释类型中方法的返回类型



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>的阅读方式。

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

最新更新