This question already has answers here:
Multiple annotations of the same type on one element?
(8个答案)
4年前关闭。
如果要重复注释Java 8,则允许这样做。
例:
在描述中,我已经读过,这只是java编译器生成代码的提示。
请说明该代码在Java 5-7中的外观如何?
这也是通过反射API在运行时公开批注的方式。 Java 8仅为此显式包装添加了一些syntactic suggar,因为这是一个常见的用例。
(8个答案)
4年前关闭。
如果要重复注释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中的外观如何?
最佳答案
在Java 8之前,需要像下面的示例一样显式地包装注释:
@MyAnnotationContainer({
@MyAnnotation("a"),
@MyAnnotation("b")
})
class MyClass {
}
这也是通过反射API在运行时公开批注的方式。 Java 8仅为此显式包装添加了一些syntactic suggar,因为这是一个常见的用例。
10-02 01:54