为自己代码重构了一部分内容
2017-09-14 13:28
302 查看
因为需要为某个参数赋默认值但是又要保证接口的灵活调用,所以对部分参数都需要进行空值检查 不为空则赋初值
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());
相关文章推荐
- 突然想要做个新闻内容的分页,网上查了下资料,找到了一个可以用的类(代码需要自己研究下,我已经试验成功了)
- 自己写代码工具必备sql语句,获得表属性全部内容
- 重构自己的代码
- 复制本贴地址传给QQ/MSN好友的代码(自己写内容)
- C#编写一个自己输入内容的代码
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】
- [学习笔记]Java代码构建一个线程池的自己学习写的实例,用这个你会更好的理解文章内容
- 一个iOS程序员自己写代码将Kindle中我的剪贴内容筛选提取出来
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】
- TextView单击链接弹出Activity 和 SpannableString的用法(一部分转载,代码自己编写)
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】
- TYPagerController 简单,强大,高度定制,页面控制器,水平滚动内容和标题栏,包含多种barStyle。 TYPagerController v2.0 重构优化代码,分离出TYPager
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】
- 程序员如何才能提高自己?通过一次重构代码讲解自己的感受【有代码比较】
- 针对自己网站内容的搜索引擎代码
- 微信.NET 微信开发 自己主动内容回复 ASP.NET C#代码