annotation详解二

在软件开发中,annotation注解和反射的使用是相对比较难以理解的,需要我们多练习实践,今天我从基础开始,一步一步实践一下annotation的各个相关方法。

AnnotationElement

java8新增了这个接口,将Annotation相关的几个基本方法封装在里面
- isAnnotationPresent 判断注解是否存在。
- getAnnotation(Class annotationClass) //获取对应类型的注解
- getAnnotations(); //获取全部注解
- getDeclaredAnnotations(); //获取全部注解,但忽略继承的注解
- getAnnotationsByType(Class annotationClass) //有默认实现,获取指定注解,获取不到从子类递归获取
- getDeclaredAnnotation(Class annotationClass) // 获取指定注解
- getDeclaredAnnotationsByType(Class annotationClass) // 有默认实现,获取指定注解,忽略继承的注解


class,method等方法都实现了AnnotationElement,因此他们有这些基本方法。
这里写图片描述

@Repeatable

表示在同一个位置重复相同的注解
- AnnotationElement中新增的getAnnotationsByType和getDeclaredAnnotationsByType就是对应于获取多个重复注解,当我们用了重复注解,用getAnnotation(xx)我们会发现是无法获取到对应的注解,原因在于Repeatable是指定一个一个容器。
这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值