如果您想重复注释,java 8允许这样做。
示例:
@Retention(RetentionPolicy.RUNTIME)
@Repeatable(MyAnnotationContainer.class)
@interface MyAnnotation {
String value();
}
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotationContainer {
MyAnnotation[] value();
}
@MyAnnotation( "a")
@MyAnnotation( "b")
class MyClass {
}
在描述中,我读到这只是java编译器生成代码的提示。
请澄清这段代码在java 5-7中的外观如何?
发布于 2015-09-24 07:12:59
在Java 8之前,需要显式地包装注释,如本例所示:
@MyAnnotationContainer({
@MyAnnotation("a"),
@MyAnnotation("b")
})
class MyClass {
}
这也是通过反射API在运行时公开注释的方式。Java8只为这种显式包装添加了一些syntactic suggar,因为这是一个常见的用例。
https://stackoverflow.com/questions/32755419
复制相似问题