java 获取类的注解_Java如何快速获取类附带的注解

原标题:Java如何快速获取类附带的注解

如何快速获取或者判断一个类是否有某个注解呢?可以使用对象的Class信息来获取,下面是一个例子:

a6c524ada42593abc08401fe5a2f8efc.png

在上面的例子中,hasAnnotation方法的作用就是判断是否一个对象所属的类包含某个注解,可以分析一下具体的实现,首先,第一个参数类型为AnnotatedElement,代表具体需要判断的对象Class信息,需要注意的是,Class类实现了AnnotatedElement接口,所以传递一个Class对象给这个方法的第一个参数是合法的;第二个参数是注解类的Class信息,是需要检测的目标注解。可以看到,在代码中使用了AnnotatedElement的isAnnotationPresent方法来进行判断是否具有某个注解的功能,可以跟进去看一下具体的实现原理。

37e19727f97774e6de251abe309a5593.png

可以看一下annotationData方法的具体实现,参考下面的图片:

db17eba227dbdc711d4ec7575bcd9437.png

其中首先会判断是否具有需要的数据,以及是否符合要求,如果数据不存在或者过期了,那么就需要重新获取,重新获取数据的关键方法是createAnnotationData,该方法的实现可以参考下面的代码:

3b0da2d7598536001ab9e7406852faf2.png

annotationData方法获取到的是一个AnnotationData对象,可以看一下AnnotationData类的定义:

a8d027d5a89c897fab5f640c969b51f8.png

在getAnnotation方法中,该方法获取了AnnotationData字段的annotations字段来判断是否包含目标注解,更加深入的细节可以自行参考Class类的具体实现。本文是一个极短的java技术分享,提供一种获取一个对象的注解信息的思路,其实还有很多类型信息都是可以通过Class来获取到的。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值