@ 4.1 重复注解

重复注解

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyTag {
    String name() default "勇敢牛牛";
    int age() default 21;
}
public class MyInfo {

    @MyTag
    @MyTag(name = "hb", age = 23)
    public void info() {
        System.out.println("yyds");
    }
}

java 8 之前不允许使用重复注解,(java 8以前必须使用容器修饰)
@ 4.1 重复注解

定义容器

@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyTags {
    MyTag[] value();
}

并在 MyTag 上加 @Repeatable(MyTags.class)

@Documented
@Repeatable(MyTags.class)
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyTag {
    String name() default "勇敢牛牛";
    int age() default 21;
}

@ 4.1 重复注解
容器在 java 8 以前的做法就不提了,已经过去式了。现在只是简化了以前的做法,本质还是一样的。

上一篇:强连通分量+缩点


下一篇:Go语言 - 并发