JAVA - 如何从Annotation中获取注释?

2024-01-29

我想从注释中获取注释,但奇怪的是我无法从注释实例中获取单个注释。我该如何解决这个问题?我想从此注释实例获取注释。

public static void test(Annotation annotation) {
    System.out.println("ValidBoolean annotation len:" + ValidBoolean.class.getAnnotations().length);
    System.out.println(annotation.getClass().getName() + ":" + annotation.getClass().getAnnotations().length);
    if (annotation instanceof ValidBoolean) {
        ValidBoolean validBoolean = (ValidBoolean) annotation;
        System.out.println("[BOOLEAN]" + validBoolean.getClass().getName() + ":" + validBoolean.getClass().getAnnotations().length);
    }
}

打印结果是:

ValidBoolean annotation len:3
com.sun.proxy.$Proxy28:0
[BOOLEAN]com.sun.proxy.$Proxy28:0

如果我理解正确的话,你想做的是:

Annotation[] annotationAnnotations = annotation.annotationType().getAnnotations();

一般来说,annotationType() https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html#annotationType--工作使得

someClass.getAnnotation(someAnnotationClass).annotationType() == someAnnotationClass

So annotation instanceof ValidBoolean也暗示着annotation.annotationType() == ValidBoolean.class,从而调用.getAnnotations()在它们上将导致相同的注释。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA - 如何从Annotation中获取注释? 的相关文章

  • 使用 java 删除 XML 根的子级

    这是我的 xml 文件
  • 无论线程如何,对象是否总是能看到其最新的内部状态?

    假设我有一个带有简单整数计数变量的可运行对象 每次可运行对象运行时该变量都会递增 该对象的一个 实例被提交以在计划的执行程序服务中定期运行 class Counter implements Runnable private int coun
  • java 中的梵文 i18n

    我正在尝试使用来自互联网的示例 ttf 文件在 java 中使用 i18n 进行梵文 印地文 我可以加载资源包条目 还可以加载 ttf 并设置字体 但它不会根据需要呈现 jlabel 它显示块代替字符 如果我在 Eclipse 中调试 我可
  • 如何从 Java 访问 Windows 设备管理器中的信息?

    我有一个串行 USB 设备 并且其中多个设备可以连接到计算机 我需要查询和检索设备连接到的 COM 端口列表 在 Windows 设备管理器中 您可以获得当前连接的设备的 COM 端口 友好名称 该列表是动态的 从注册表中读取不工作 htt
  • JAXB 继承冲突 - 重新注释子类

    目前我的项目中有这样的环境 public abstract class Foo private List
  • 如何准确判断 double 是否为整数? [复制]

    这个问题在这里已经有答案了 具体来说 在 Java 中 我如何确定double是一个整数 为了澄清 我想知道如何确定 double 实际上不包含任何分数或小数 我主要关心的是浮点数的性质 我想到的方法 以及我通过谷歌找到的方法 基本上遵循以
  • 获取Android库中的上下文

    我正在编写一个 Android 应用程序 它的一些功能封装在内部库中 但是 要使此功能发挥作用 库需要一个应用程序上下文的实例 为图书馆提供这种上下文的最佳方式是什么 我看到了一些选择 但没有一个有吸引力 Have my library c
  • Selenium 和 TestNG 同时使用“dependsOn”和“priority =”问题

    我正在努力在 GUI 自动化测试中实现更好的工作流程控制 我首先从dependsOn开始 但很快发现缺点是如果一个测试失败 则套件的整个其余部分都不会运行 所以我改用 priority 但看到了意外的行为 一个例子 Test priorit
  • 使用 Jena 查询维基数据

    目前 Wikidata 有一个 SPARQL 端点 https query wikidata org https query wikidata org 我想使用 Jena 3 0 1 查询此网站 我使用以下代码 但收到错误消息 端点返回的
  • 在拇指上方显示修改后的 JSlider 值

    有没有一种简单的方法可以在使用某些 外观和感觉 的同时更改 JSlider 上方标签中显示的值 为了清楚起见 我正在谈论这个值 具体来说 我想显示除以 1000 的值而不是值本身 我知道如果我显示它们 我可以为刻度设置标签 但用户将不得不猜
  • 但是创建静态实用方法不应该被过度使用吗?如何避免呢? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 随着时间的推移 java项目中引入了许多实用方法来完成更复杂和简单的任务 当使用静态方法时 我们在代码中引入了紧密耦合 这使得我们的代
  • Java 中如何验证字符串的格式是否正确

    我目前正在用 Java 编写一个验证方法来检查字符串是否是要更改为日期的几种不同格式之一 我希望它接受的格式如下 MM DD YY M DD YY MM D YY 和 M D YY 我正在测试第一种格式 每次它都告诉我它无效 即使我输入了有
  • 如何在 Eclipse 中获得完全限定的类名?

    有没有一种快速方法可以在 Eclipse 中单击 Java 类并获取其完全限定名称 或将其复制到剪贴板 2016年6月29日编辑 正如 Jeff 所指出的 您只需要执行以下第二步 1 Double click on the class na
  • 如何让“循环”泛型在 Java 中工作?

    我在编译以下涉及一些泛型的代码时遇到错误 public abstract class State
  • 在Java中如何将字节数组转换为十六进制?

    我有一个字节数组 我希望该数组的每个字节字符串转换为其相应的十六进制值 Java中有没有将字节数组转换为十六进制的函数 byte bytes 1 0 1 2 3 StringBuilder sb new StringBuilder for
  • ActiveMQ JNDI 查找问题

    尝试使用 JNDI 运行以下 ActiveMQ http activemq apache org jndi support html http ActiveMQ 20JNDI 并且我的 jboss server node lib 文件夹中有
  • 使用 Guava Ordering 对对象列表进行多条件排序

    我有一个类无法实现可比较 但需要根据 2 个字段进行排序 我怎样才能用番石榴实现这一目标 假设班级是 class X String stringValue java util Date dateValue 我有一个清单 List
  • 了解Kafka流groupBy和window

    我无法理解 kafka 流中的 groupBy groupById 和窗口的概念 我的目标是聚合一段时间内 例如 5 秒 的流数据 我的流数据看起来像 value 0 time 1533875665509 value 10 time 153
  • 如何使用eclipse调试JSP tomcat服务?

    我想使用 Eclipse IDE 调试器来调试单独运行的 JSP Struts Tomcat Hibernate 应用程序堆栈 如何设置 java JVM 和 eclipse 以便设置断点 监视变量值并查看当前正在执行的代码 我刚刚用谷歌搜
  • Firebase:用户注册后如何进行电话号码验证?

    所以我知道我可以使用电子邮件验证或电话号码验证 但我想做的是在用户注册或登录后进行电话号码验证 如何连接这两种身份验证方法 最后 Firebase中是否有一个函数可以检查用户是否通过电话号码验证 谢谢 即使用户已通过身份验证 您仍然可以使用

随机推荐

  • 使用 XML onClick 时 Android Dialog NoSuchMethodException 错误

    我是 Java 和 Android 新手 正在开发我的第一个测试应用程序 我已经取得了进展 但我被对话框阻止了 我显示活动中的对话框 如下所示 BuyActivity java public void onCreate Bundle sav
  • 如何在图像中找到K个随机不同的像素? [复制]

    这个问题在这里已经有答案了 我知道如何使用 rand 函数在图像的限制内找到 x 和 y 的随机像素 然后循环做K次 不过 我想以更聪明的方式做到这一点 并确保我不会选择相同的 x y 坐标 提前致谢 Use randperm http u
  • VBA 从两个范围的并集复制到另一个范围的一行

    亲爱的有能力的人 我在使用以下代码时遇到问题 特别是子程序正确完成但未将正确的数据复制到正确的位置 我得到了零线的重复模式 它与到位的迭代器不相关 我认为问题在于从范围的子集中复制值 Episode r 之前我考虑过使用 union 属性
  • 如何根据我想要使用的 extra_requires 更改 Manifest.in?

    我的问题是 我正在处理的一个项目附带了重现其结果所需的所有训练数据 我想要默认安装 pip install package 包括所有这些东西 但特定的安装 pip install package train only 不 我想瘦身的两种方法
  • 如何检查用户是否是文档作者?

    你好 Domino 程序员 我在 Lotus 数据库 xpages 上工作 遇到了以下问题 我的文档上有作者和读者字段 两者都可以包含用户和组 这两个字段都是使用 NamePicker 控件在 XPage 上设置的 保存文档时 当用户无权这
  • 如何在 Scala 中迭代已定义对象中的内部对象

    我的问题是如何使用 Scala 迭代 Scala 中定义的对象中的内部对象reflection package object Units val values CITIZEN WORKER Nil I need something refl
  • 三路比较运算符成员与非成员实现

    如果出现以下情况 双向比较运算符应该是非成员函数 您希望第一个操作数的类型不是此类 您想要对两个操作数中的任何一个进行隐式类型转换 新的 C 20 三路比较运算符具有对称生成规则 表达式的名称查找a b where 是双向比较运算符 按顺序
  • PHP foreach 循环遍历多维数组

    我有一个多维数组 如何使用它 我想在一个数组中使用每个单独的数组for loop 我想要实现的是能够将每个部分放入我的数据库中 例如 数据库编号中的条目0 gt 1 和 4 数据库编号中的条目1 gt 5 和 6 数据库编号中的条目2 gt
  • DB2 LIKE 运算符的奇怪长度限制

    我发现 DB2 v9 7 和 SQL 有一个有趣的问题LIKE操作员 看一下这个 this works and returns one record select 1 from SYSIBM DUAL where abc like conc
  • 将元素从一个数组移动到另一个数组[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有这个数组 arr1 array 76 gt 1sdf 43 gt sdf2 34 gt sdf2 54 gt sdfsdf2 53 g
  • 工作单元模式

    我正在寻找有关工作单元模式的一些建议 工作单元上的提交是多次调用还是仅调用一次 然后将对象留给垃圾回收 注入工作单元 play 是一个好主意 还是在要求对象执行某些工作时我应该在方法调用中传递它 实现工作单元模式的类型实例通常有一个需要控制
  • 使用 Boto 查找安装到哪个设备和 EBS 卷

    如何使用 Python Boto v2 0 查找 EBS 卷安装到哪个设备 boto ec2 卷 https github com boto boto blob master boto ec2 volume py有一些有趣的属性 例如att
  • 在 PHP 中计算 2 个日期之间的小时数

    如何计算两个日期之间的小时差 例如 day1 2006 04 12 12 30 00 day2 2006 04 14 11 30 00 在本例中 结果应为 47 小时 较新的 PHP 版本提供了一些新的类 称为DateTime DateIn
  • 尝试使用 DbContext 使用 .Add() 方法保存时出现“无法将 NULL 值插入列”。请检查我的 POCO 和保存方法

    首先使用代码 所有内容似乎都可以与下面的内容分开 当我使用 ObjectContext 并调用 context PCBuilds AddObject pcBuild 之前 它也可以工作 但在切换到 DbContext 后 它给了我错误 EF
  • 生成随机非奇异整数矩阵

    作为合成噪声生成算法的一部分 我必须动态构造许多大型非奇异方阵 a i j i j 1 n i j a i j and 0 a i j k and Det a 0 but the a i j should also be random fo
  • 如何在 C++ 中从另一个字符串分配未初始化的字符串值

    我对编程很陌生 我的问题可能很愚蠢 但如果有人可以指导我 那将会很有帮助 请参阅下面我的代码 include
  • HTML5 视频在本机全屏模式下不会最大化超出容器尺寸

    我遇到了一个非常有趣的跨浏览器 HTML5 CSS 问题 每当有动画时 webkit animation fill mode both 附加到包含 HTML5 的 DIVvideo元素 该视频在原生 HTML5 全屏模式下不会填满整个窗口
  • iPhone 5 横向媒体查询不起作用

    我想以不同的方式显示纵向和横向 iPhone 的页面 在 iPhone 4 4S 设备上一切正常 纵向和横向 但在 iPhone 5 5s 上只有纵向模式工作正常 横向显示正常的 PC 网站 你知道出了什么问题吗 我的查询看起来像这样 肖像
  • Azure 的云服务负载平衡极其不均匀

    我正在利用 Azure 托管云服务 最近我对其进行了修改 使其可以跨多个实例进行扩展 包括会话缓存辅助角色 我的问题是 为什么我会在一个实例上看到极端负载 高达 90 但在其他实例上却没有 所有其他实例为 15 20 我应该担心吗 在我设置
  • JAVA - 如何从Annotation中获取注释?

    我想从注释中获取注释 但奇怪的是我无法从注释实例中获取单个注释 我该如何解决这个问题 我想从此注释实例获取注释 public static void test Annotation annotation System out println