Java 反射 : Count of methods with an annotation?

标签 java reflection annotations

这可以很好地过滤掉带有 Analyze 注释的方法:

    for (Method m : ParseTree.class.getMethods()) {
        if (m.isAnnotationPresent(Analyze.class)) {

如果我只想要一个计数,而不需要循环怎么办?是否有某种方法返回某个类中有多少个方法具有某个注释?

最佳答案

这是一个非常特殊的用例,所以我真的很怀疑,Java 反射 API 中有一个方法。

但即使有这样的方法,它也会简单地做同样的事情:遍历一个类的所有方法,计算注解并报告数量。

我建议您为此任务在一些实用程序类中实现一个静态方法。

public static int countAnnotationsInClass(Class<?> testClass, Class<?> annotation) {
  // ...
}

关于Java 反射 : Count of methods with an annotation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1833533/

相关文章:

基于 Javascript 的网格/数据表

java - java中使用静态字段反序列化json

java - @VisibleForTesting() 函数在使用时不会触发生产代码的编译错误

python - 我在 python 中遇到一个问题,即用句子的行结束字符分割文本的一部分

java - 注释或关键字告诉对象的垃圾收集器首先删除

javascript - Java Controller 是否可以将属性传递给成功的 ajax 调用?

java - Java中使用反射访问同级类的公共(public)方法

c# - 获取类层次结构中的所有基本属性声明

c# - 如何判断一个类是否实现了具有泛型类型的接口(interface)

java - 使用 Jersey 1.x 自定义注解注入(inject)