在前面的博客 Java反射使用 列舉了Java反射的一些使用,下面介紹開源反射工具JOOR的使用。
只需幾行代碼就實現了前面博客中內部類的反射:
public void testJoor(){
Reflect.on("com.example.heqiang.testsomething.OuterClass")
.create()
.field("mInnerClass")
.call("printInt");
OuterClass outerClass = new OuterClass();
Reflect.on(outerClass).field("mInnerClass").call("printInt");
Reflect.on(outerClass).field("mInnerClass").set("mInt", 8);
Reflect.on(outerClass).field("mInnerClass").call("printInt");
}
gradle中配置:
compile 'org.jooq:joor:0.9.5'