有一个需求,为了避免生成一堆switch. 把swich的条件,和数据封装在一个表中,要用的时候遍历表就可以了。一般数据好办,但是要数据是类名,用的时候要通过类名,创建类名。 //根据类名获取Class对象 Class c=Class.forName("java.lang.Integer"); //这一步可以省略,因为表中存的就是class,不是字符串。 //参数类型数组 Class[] parameterTypes={String.class}; //根据参数类型获取相应的构造函数 java.lang.reflect.Constructor constructor=c.getConstructor(parameterTypes); //参数数组 Object[] parameters={"1"}; //根据获取的构造函数和参数,创建实例 Object o=constructor.newInstance(parameters);