来到JavaEE基础课堂框架【库】

Java 推荐一个简化反射操作代码的优雅写法

2018-09-09  本文已影响453人  Little丶Jerry

Java 中反射的写法和相关第三方封装库虽然很多,但笔者还是钟爱于 JOOR,链接 https://github.com/jOOQ/jOOR

这个库用了好几年了,为什么好用?因为其小巧精致,小巧到只有一个 Java 文件,精致到写出来的代码很优雅。

首先我们回顾下 Java 原生提供的反射写法,比如我们想要调 DataManager 的静态方法 get,如下:

try {
    final Method m = DataManager.class.getMethod("get", Context.class);
    m.setAccessible(true);
    m.invoke(null, this);
} catch (NoSuchMethodException e) {
    e.printStackTrace();
} catch (IllegalAccessException e) {
    e.printStackTrace();
} catch (InvocationTargetException e) {
    e.printStackTrace();
}

而使用 JOOR 的写法如下:

Reflect.on(DataManager.class).call("get", this);

更高大上的用法自己去看下项目文档吧,反正实现原理也超级简单,就是对 Java 反射的一次包装。JOOR 主要提供了 ReflectReflectException,具体如下:

本文摘抄自 推荐一个简化反射操作代码的优雅写法

上一篇下一篇

猜你喜欢

热点阅读