java8 注解学习笔记

@Person(personName="李四",personAge=11)
@Person(personName="王五")
@Person(personAge=12)
public class Test {

    static ThreadLocal<String> threadLocal = new ThreadLocal<>();   

    public static void main(String[] args) {

        Person[] person = Test.class.getAnnotationsByType(Person.class);
        Arrays.asList(person).stream().forEach((p)->{System.out.println(p.personName() + p.personAge());});
    }
}
@Repeatable(Persons.class)
@Retention(RetentionPolicy.RUNTIME)
public @interface Person {
    String personName() default "张三";
    int personAge() default 10; 
}
@Retention(RetentionPolicy.RUNTIME)
public @interface Persons {

    Person[] value();
}

这段代码在gethib上的为author和book,我自己敲了一下,重点在于@Repeatable(Persons.class)这句代码,当在Test上重复注解同一个类型的注解时,需要新建另一个注解,里面包含了一个需重复注解的注解类的数组且该数组的名字必须为value,在main中可以通过反射获得此注解的数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值