有一个需求,为了避免生成一堆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);