日期:2014-05-20  浏览次数:20601 次

什么错误
Class   clazz1   =   Class.forName( "java.lang.Integer ");
Integer   i   =   (Integer)clazz1.newInstance();

这个代码为什么会有异常阿?

------解决方案--------------------
clazz1.newInstance()会调用类的没有参数默认构造函数,而Integer没有这种构造函数,Integer的构造函数是这样的:
public Integer(int value);
即,需要一个参数。

所以,会有异常抛出


Class clazz1 = Class.forName( "java.lang.String ");
String i = (Integer)clazz1.newInstance();
就不会抛出异常