【发布时间】:2019-05-20 08:41:42
【问题描述】:
考虑以下不太奏效的尝试
public void createClass() {
try {
MyClass b = (MyClass)getMyClassType().newInstance();
} catch(Exception e) {
e.printStackTrace();
}
}
public Class<?> getMyClassType() {
MyClass a = new MyClass(1);
return a.getClass();
}
public class MyClass {
private int k = 0;
public MyClass(int t) {
k = t;
}
}
以上得到
Caused by: java.lang.NoSuchMethodException
我不太清楚为什么它不起作用。
基本上我希望能够从类类型创建类,最好是这样的
Map<String, ClassType> a = new HashMap<>()
a.get("myClassName").createClassInstanceFromClassType(constructorParam1);
以上在java中是否可行?
【问题讨论】:
-
Class.newInstance()尝试使用MyClass没有的无参数构造函数。
标签: java