我遇到了一个关于自定义注释的问题。 题 :- 假设我们已经创建了一个自定义注释,并将它应用于某些类(假设在我们的应用程序/模块中我们总共有10个类,我们只在5个类上应用了自定义注释,其余5个注释了正常的内置注释,如@在我们的应用程序中自动装配,@ COmponent等等。
现在,当我加载整个应用程序时,是否可以加载,或者我们可以说只实例化我用自定义注释注释的那些类。
有可能吗?
答案 0 :(得分:0)
假设
@MyAnnotation
public class MyClass {
...
}
然后
if (MyClass.class.isAnnotationPresent(MyAnnotation.class)) {
MyClass myObj = MyClass.newInstance();
}
将有条件地实例化带注释的类。
答案 1 :(得分:0)
使用entryClass.getAnnotation()我们可以加载我们自定义注释的类。
String jarFile = "path/to/jarfile.jar";
DexClassLoader classLoader = new DexClassLoader(
jarFile, "/tmp", null, getClass().getClassLoader());
Class<?> myClass = classLoader.loadClass("MyClass");