public class test{
public static void main(String[] arg){
int num=0;
BigDecimal tatalPrice=BigDecimal.ZERO;
for(int i=1;i<=31;i++){
try {
BigDecimal price=getStringProperty(ro, "price" + i);
if(!ObjectUtils.isEmpty(price)){
tatalPrice =tatalPrice.add(price);
num+=1;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
// 获取bean的某个属性值
private BigDecimal getStringProperty(MaterialPriceLineVO priceLineVO, String fieldName) throws Exception {
// 获取Bean的某个属性的描述符
PropertyDescriptor proDescriptor = new PropertyDescriptor(fieldName, MaterialPriceLineVO.class);
// 获得用于读取属性值的方法
Method methodGet = proDescriptor.getReadMethod();
// 读取属性值
Object objValue = methodGet.invoke(priceLineVO);
if (ObjectUtils.isEmpty(objValue) || "null".equals(objValue)){
return null;
}else {
BigDecimal price=new BigDecimal(String.valueOf(objValue));
return price;
}
}
}