newInstance()的InstantiationException

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(); 

这是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); 

因为Integer没有no-arg(默认)构造函数, class.newInstance()将在内部调用默认构造函数

Class.newInstance()只能调用零参数构造函数,而Integer没有ZERO参数构造函数。