介绍
Java的反射机制,可以让语言变得更加灵活,对对象的操作也更加“动态”,因此在某些情况下,反射可以做到事半功倍的效果。Hutool针对Java的反射机制做了工具化封装,封装包括:
- 获取构造方法
- 获取字段
- 获取字段值
- 获取方法
- 执行方法(对象方法和静态方法)
使用
获取某个类的所有方法
Method[] methods = ReflectUtil.getMethods(ExamInfoDict.class);
获取某个类的指定方法
Method method = ReflectUtil.getMethod(ExamInfoDict.class, "getId");
构造对象
ReflectUtil.newInstance(ExamInfoDict.class);
执行方法
class TestClass {
private int a;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
TestClass testClass = new TestClass();
ReflectUtil.invoke(testClass, "setA", 10);