Java 8新特性探究(五)重复注解(repeating annotations)
知识回顾 前面介绍了: lambda表达式和默认方法 (JEP 126) 批量数据操作(JEP 107) 类型注解(JEP 104) 注:JEP=JDK Enhancement-Proposal (JDK 增强建议 ),每个JEP即一个新特性。 在java 8里面,注解一共有2个改进,一个是类型注解,在上篇已经介绍了,本篇将介绍另外一个注解的改进:重复注解(JEP 120)。 什么是重复注解 允许在同一申明类型(类,属性,或方法)的多次使用同一个注解 一个简单的例子 java 8之前也有重复使用注解的解决方案,但可读性不是很好,比如下面的代码: public @interface Authority { String role(); } public @interface Authorities { Authority[] value(); } public class RepeatAnnotationUseOldVersion { @Authorities({@Authority(role="Admin"),@Authority(role="Manager")}) public void doSomeThing(){ } } 由另一个注解来存储重复注解,在使用时候,用存储注解Authorities来扩展重复注解,我们再来看看java 8里面的做法: @Repeatable