这可以很好地过滤掉带有 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/