我想编写一个简单的注释,如“@interface MyClassAnnotation”和“@interface MyMethodAnnotation”,它们以类和方法为目标!但主要问题是在main函数上我需要列出所有具有该注释的JVM上的所有Class和Method实例!我不想使用任何额外的库,只是纯粹的内置java函数。 谁能给我一个很好的片段呢?
答案 0 :(得分:0)
您可以使用由getAnnotation
和Class
同时实施的java.lang.reflect.Method
元素来确定您的注释是否出现在特定的类或方法上。
真正的问题是,您想要测试哪些类和方法? "所有人"有点难以定义。似乎没有一种方法可以枚举JVM加载的所有类。
答案 1 :(得分:0)
通过所有课程是不可行的,你必须以某种方式缩小范围。要么提供一个可配置的包列表,其中包含您的特定注释的类,要么使用Java中的ServiceLoader
概念来声明您需要查找的类集(如果加载服务的代码可能有用了解或链接所有实现。)