什么是重复注解允许在同一个声明类型(类、属性或方法)中多次使用同一个注解一个简单的例子在java8之前,也有重用注解的方案,但是可读性不是很好,比如下面的代码:public@interfaceAuthority{Stringrole();}public@interfaceAuthorities{Authority[]value();}publicclassRepeatAnnotationUseOldVersion{@Authorities({@Authority(role="Admin"),@Authority(role="Manager")})publicvoiddoSomeThing(){}}另一个注解用于存储重复的注解。使用时,使用存储的注解Authorities扩展重复的注解。让我们看一下Java8方法:@Repeatable(Authorities.class)public@interfaceAuthority{Stringrole();}public@interfaceAuthorities{Authority[]value();}publicclassRepeatAnnotationUseNewVersion{@Authority(role="Admin")@Authority(role="Manager")publicvoiddoSomeThing(){}}不同的是在创建重复注解Authority时,添加@Repeatable指向存储注解Authorities,并且在使用的时候可以直接复用Authority注解。从上面的例子我们可以看出,java8中的方法更适合常规思维,可读性更强。综上所述,JEP120没有太多内容。这是一个小功能,只是为了提高代码的可读性。这次Java8对注解做了两项改进(JEP104、JEP120),相信注解的使用会比以前更频繁。原文链接:https://img.ydisp.cn/news/20220914/0iileet1hws
