这个问题已经在这里有一个答案:
- 实例化构造函数的类的对象,它接受一个字符串参数? 4个回答
当下面的工作正常className
是"java.awt.Rectangle"
和"java.lang.String"
等,但它失败了"java.lang.Integer"
, "java.lang.Double"
给java.lang.InstantiationException
为classDefinition.newInstance()
Class classs = Class.forName(className);
Object object = classs.newInstance();
这是包装类或其他问题?
Editted:办法做到这一点-学分应该去Jigar。
Class integerDefinition = Class.forName("java.lang.Integer");
Constructor intArgsConstructor = integerDefinition.getConstructor(new Class[] {int.class});
Object[] intArgs = new Object[] { new Integer(12) };
Object object = intArgsConstructor.newInstance(intArgs);