8.2.5 JDK1.8注解的新特性
Java 8对注解处理提供了两点改进:可重复的注解及可用于类型的注解。此外,反射也得到了加强,在Java8中能够得到方法参数的名称。这会简化标注在方法参数上的注解。
1、可重复注解
package com.atguigu.anno;
import java.lang.annotation.ElementType; import java.lang.annotation.Target;
public class TestOldAnnotation {
@RoleAnnotations({@RoleAnnotation(role=”admin”),@RoleAnnotation(role=”manager”),@RoleAnnotation(role=”saler”)}) public void add(){ }
} @Target(ElementType.METHOD) @interface RoleAnnotation{ String role() default “admin”; }
//表示target是所有 @interface RoleAnnotations{ RoleAnnotation[] value(); } |
JDK1.8之后,可读性更好
package com.atguigu.anno;
import java.lang.annotation.ElementType; import java.lang.annotation.Repeatable; import java.lang.annotation.Target;
public class TestNewAnnotation {
@LimitAnnotation(role=”admin”) @LimitAnnotation(role=”manager”) @LimitAnnotation(role=”saler”) public void test(){
} }
@Target(ElementType.METHOD) 此处的target必须与LimitAnnotation一致 @interface LimitAnnotations{ LimitAnnotation[] value(); }
@Repeatable(LimitAnnotations.class) @Target(ElementType.METHOD) @interface LimitAnnotation{ String role() default “admin”; } |
上一篇: JavaSE进阶
下一篇: JavaSE进阶