我想知道是否有人知道如何将这样的String转换为Class引用。
我认为这个例子足以理解为什么我要问
String className = "MainClass";
if(annotation instanceof className)
这个想法是使用String作为类的引用,就像我的类的名称是" MainClass.java"我可以创造出" instanceof"使用包含类名称的字符串,但这是代码中的错误,因为instanceof是对象与特定类的比较
有些帮助吗? 谢谢!
答案 0 :(得分:2)
您需要Class.forName(String)
方法:
http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#forName(java.lang.String)
这将返回一个Class<?>
实例,您可以使用它来检查您的对象是否是实例,如下所示:
final Class<?> myClass = Class.forName(classNameString);
return myClass.isInstance(myObject);