1

JLS 在第 9.6.1 节 ( http://docs.oracle.com/javase/specs/jls/se7/html/jls-9.html#jls-9.6.1 ) 中说如下。

“如果在注释类型中声明的方法的返回类型不是以下之一,则这是编译时错误:原始类型、字符串、类、对 Class 的任何参数化调用、枚举类型(第 8.9 节)、注释类型,或元素类型是上述类型之一的数组类型(第 10 节)。”

什么是“类的任何参数化调用”?有什么例子吗?

4

1 回答 1

2

从 Java 5 开始,java.lang.Classtype 是generic,这意味着它可以有一个类型参数。通过文档的参数化调用Class意味着“Class<...>使用任何类型的参数”。您可以在同一文档中找到它的示例,例如“示例 9.6.1-2”:

interface Formatter {}

// Designates a formatter to pretty-print the annotated class
@interface PrettyPrinter {
    Class<? extends Formatter> value();
//  ^^^^^^^^^^^^^^^^^^^^^^^^^^------------ Here
}
于 2013-02-13T11:49:54.310 回答