className
当is"java.awt.Rectangle"
等时,以下工作正常"java.lang.String"
。但它失败了 for "java.lang.Integer"
,"java.lang.Double"
给java.lang.InstantiationException
for classDefinition.newInstance()
。
Class classs = Class.forName(className);
Object object = classs.newInstance();
这是 Wrapper 类还是其他问题?
编辑:做到这一点的方法 - 学分应该去 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);