反射工具-ReflectUtil

介绍

Java的反射机制,可以让语言变得更加灵活,对对象的操作也更加“动态”,因此在某些情况下,反射可以做到事半功倍的效果。Hutool针对Java的反射机制做了工具化封装,封装包括:

  1. 获取构造方法
  2. 获取字段
  3. 获取字段值
  4. 获取方法
  5. 执行方法(对象方法和静态方法)

使用

获取某个类的所有方法

  1. Method[] methods = ReflectUtil.getMethods(ExamInfoDict.class);

获取某个类的指定方法

  1. Method method = ReflectUtil.getMethod(ExamInfoDict.class, "getId");

构造对象

  1. ReflectUtil.newInstance(ExamInfoDict.class);

执行方法

  1. class TestClass {
  2. private int a;
  3. public int getA() {
  4. return a;
  5. }
  6. public void setA(int a) {
  7. this.a = a;
  8. }
  9. }
  1. TestClass testClass = new TestClass();
  2. ReflectUtil.invoke(testClass, "setA", 10);