动态生成类的方法

来源:互联网 发布:电子印章生成器软件 编辑:程序博客网 时间:2024/06/05 18:14

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