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