1、jOOR(Java Object Oriented Reflection),它是一个对java.lang.reflect包的简单封装,使得我们使用起来更加直接和方便
2、API简介
Reflect.on 包裹一个类或者对象,表示在这个类或对象上进行反射,类的值可以使Class,也可以是完整的类名(包含包名信息)
Reflect.create 用来调用之前的类的构造方法,有两种重载,一种有参数,一种无参数
Reflect.call 方法调用,传入方法名和参数,如有返回值还需要调用get
Reflect.get 获取(field和method返回)值相关,会进行类型转换,常与call和field组合使用
Reflect.field 获取属性值相关,需要调用get获取该值
Reflect.set 设置属性相关
3、示例
① 创建实例
String str = Reflect.on(String.class).create("hello").get();
② 访问属性
long versionUID = Reflect.on(String.class).create().field("serialVersionUID").get();
③ 设置属性
String path = Reflect.on(File.class).create("E:/target").set("path", "E:/resources").get("path");
④ 调用方法
Reflect reflect = Reflect.on(ArrayList.class).create();
reflect.call("add", "hello");
String ls = reflect.call("get", 0).get();