我想实现以下逻辑:


ClassLoader.loadClass( String )加载注释类
使用Class检查给定的Class.isAnnotationPresent(Class<? extends Annotation>)对象是否具有该批注


但是,loadClass()的返回类型是Class<?>,不能直接在isAnnotationPresent()中使用。因此,在isAnnotationPresent()中使用加载的注释类应该采取什么步骤?

这似乎是一个简单的问题,但是我只是无法从强大的Google找到答案。 :-(

无论如何,非常感谢。

最佳答案

您可以使用Class.asSubclass()

Class<? extends Annotation> a = cl.loadClass(...).asSubclass(Annotation.class);

07-25 20:25