2014-03-31 15 views
0

我想实现以下逻辑:如何将动态加载的注记类转换为Annotation?

  1. 加载注释类ClassLoader.loadClass(String)
  2. 检查一个给定Class对象有使用Class.isAnnotationPresent(Class<? extends Annotation>)

但是,这种标注的loadClass()返回类型为Class<?>,它不能直接用于isAnnotationPresent()。那么,我应该采取哪些步骤来使用isAnnotationPresent()中加载的注记类?

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

在任何情况下,我非常感谢你

回答

3

可以使用Class.asSubclass()

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