反射工具类调用getset
Posted root_zhb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反射工具类调用getset相关的知识,希望对你有一定的参考价值。
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.math.BigDecimal;
/**
* 使用反射get值,进行计算,再用反射set值
*/
public class FrontDataUtils
public static void frontDataCalculate(Object o)
//遍历所有字段
for (Field f : o.getClass().getDeclaredFields())
//获取字段名
String name = f.getName();
//字段首字母大写
name = name.substring(0, 1).toUpperCase() + name.substring(1);
try
//get方法
Method m = o.getClass().getMethod("get" + name);
//set方法
Method s = o.getClass().getMethod("set" + name, BigDecimal.class);
// 调用getter方法获取属性值
BigDecimal value = (BigDecimal) m.invoke(o);
if(value!=null)
//获取的值进行计算
value=value.divide(BigDecimal.valueOf(10000)).setScale(0,BigDecimal.ROUND_DOWN);
//setter方法进行赋值
s.invoke(o,value);
catch (Exception e)
e.printStackTrace();
以上是关于反射工具类调用getset的主要内容,如果未能解决你的问题,请参考以下文章