我想知道如何从一个采用动态字符串值的方法返回一个Class对象。我不知道我拥有的是正确的做法
public Class getDynClass(String className) {
try {
Class dynClass = Class.forName(className);
return dynClass;
} catch (ClassNotFoundException ex) {
// error
return null;
}
}
答案 0 :(得分:0)
您可以通过以下代码返回Class的实例:
public static void main(String[] args) {
Object object = getDynClass("org.xml.sax.helpers.DefaultHandler");
System.err.println(object);
}
public static Object getDynClass(String className) {
try {
Class dynClass = Class.forName(className);
return dynClass.newInstance();
} catch (IllegalAccessException | InstantiationException | ClassNotFoundException ex) {
Logger.getLogger(ReadXMLFile.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
答案 1 :(得分:0)
您是否期待这个答案。根据给定的字符串参数动态返回类实例。
public static void main(String[] args) {
// TODO Auto-generated method stub
//long i = java.util.UUID.randomUUID().getMostSignificantBits();
Test t = new Test();
Class<?> obj = t.getDynClass("com.test.TestClass");
}
public Class<?> getDynClass(String className) {
try {
Class<?> dynClass = Class.forName(className);
return dynClass.getClass();
} catch (ClassNotFoundException ex) {
// error
return null;
}
}