为自己代码重构了一部分内容

因为需要为某个参数赋默认值但是又要保证接口的灵活调用,所以对部分参数都需要进行空值检查 不为空则赋初值
             if (param.getParam().getOrgPath() == null ||
             param.getParam().getOrgPath().equals("")) {
             param.getParam().setOrgPath(find.get().getInnerCode()); }
后来发现写了太多这样的代码了  于是重构
/**
     * 设置参数 如果param的某个filedName为空 则讲setFiled设置到filedName中
     * 
     * @param param
     *            需要被设置参数的对象
     * @param filedName
     *            需要被设置的参数名
     * @param setFiled
     *            需要被设置的参数
     */
    private void setParam(Object param, String filedName, Object setFiled) throws NoSuchMethodException,
            SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
        String getMethodName = "get" + filedName.substring(0, 1).toUpperCase()
                + filedName.substring(1, filedName.length());
        String setMethodName = "set" + filedName.substring(0, 1).toUpperCase()
                + filedName.substring(1, filedName.length());
        Class<?> clazz = param.getClass();
        Method getMethod = clazz.getMethod(getMethodName, null);
        Method setMethod = clazz.getMethod(setMethodName, setFiled.getClass());
        Object obj = getMethod.invoke(param, null);
        if (obj == null || StringUtils.isEmpty(obj.toString())) {
            setMethod.invoke(param, setFiled);
        }
    }
这样的话我就只用写一句了
setParam(param.getParam(), "orgPath", find.get().getInnerCode());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值