一、需求

2018-02-24 15:48 更新

一、需求

今天一个“懒”程序员突然跑过来说:“反射好麻烦,我要提点需求。”
听到这句话后我就知道,今天一定不好过了,奇葩需求又来了。

我们之前写反射都是要这么写:

 public static <T> T create(HttpRequest httpRequest) {
    Object httpRequestEntity = null;
    try {
        Class<T> httpRequestEntityCls = (Class<T>) Class.forName(HttpProcessor.PACKAGE_NAME + "." + HttpProcessor.CLASS_NAME);
        Constructor con = httpRequestEntityCls.getConstructor(HttpRequest.class);
        httpRequestEntity = con.newInstance(httpRequest);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (InstantiationException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    }
    return (T) httpRequestEntity;
}

因为反射在开发中很少用(做普通的业务开发的话),仅仅在自己写一些框架和注解框架时会用到,所以对api总是不熟悉。每次用到api都要去网上查,查了后又得自己实验下,很不爽。更差劲的是这样写法可读性十分低下。我不希望这样写反射,我希望反射能像

String str = new String();

这样简单,一行代码搞定!
此外,有很多人都说反射影响性能,在开发的时候要避免用反射。那么什么时候该用反射,什么时候不用反射呢?用什么方式来避免反射呢?如果不明白什么时候用反射,就很难将反射活学活用了。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号