注释成员只有有限的类型(JLS
9.6)。
如果在注释类型中声明的方法的返回类型不是以下之一,则是编译时错误:基本类型,String,Class,Class的任何参数化调用,枚举类型(§8.9),注释类型,或数组类型(第10节),其元素类型为上述类型之一。
它们的值必须是常量表达式(JLS 9.7)。该标准使用术语“ 相称” 。
T是一个数组类型E [],并且是:
V是一个ElementValueArrayInitializer,并且V中的每个ElementValue(类似于数组初始化器中的VariableInitializer)都与E相称;要么
V是与E相称的ElementValue。
V的类型与T的分配兼容(第5.2节),此外:
如果T是原始类型或String,而V是常数表达式(第15.28节)。
V不为空。
如果T是Class或Class的调用,并且V是类文字(第15.8.2节)。
如果T是枚举类型,而V是枚举常量。
您的数组不是常量表达式,因此您的代码将无法编译。如果您预期会有大量注释列表,那么也许还有另一种方法可以完成此任务。我不知道Swagger,因此您可能无法避免这种情况。



