java反射方法_Java反射-方法(Method)

/*** 利用Java反射机制

* 当List中的对象属性-金额出现“.00”时,替换成“0”

*@authorczx

* @date 2014-10-29

*@paramlist 要处理的List可能是>类型的List

*@return处理后的List,即替换“.00”为“0”的List*/@SuppressWarnings({"unchecked", "rawtypes"})public staticList amonuntOfList2StringUtil(List list) {

List newList= newArrayList();//非空判断

if (list != null && list.size() > 0) {//遍历循环list

for(Object o : list) {//取得list中存放的对象所属的类

Class c =o.getClass();//取得该类的所有方法数组

Method[] ma =c.getMethods();if (ma.length > 0) {//遍历该方法数组

for(Method m : ma) {//仅处理set方法

if (m.getName().indexOf("set") >= 0) {try{//取得get()方法

Method newm =c.getMethod(m.getName().replace("set", "get"),newClass[] {});// 使用get()方法取得对应属性

Object newo = newm.invoke(o, new Object[] {});//属性满足去空.trim()后和“.00”相等时,替换为“0”

if (newo != null&& ".00".equals(newo.toString().trim())) {// 使用set()方法,设置属性

m.invoke(o, new Object[] { "0"});

}

}catch(IllegalArgumentException e) {

e.printStackTrace();

}catch(IllegalAccessException e) {

e.printStackTrace();

}catch(InvocationTargetException e) {

e.printStackTrace();

}catch(SecurityException e) {

e.printStackTrace();

}catch(NoSuchMethodException e) {

e.printStackTrace();

}

}

}

}

newList.add(o);

}returnnewList;

}returnlist;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值