java对象中属性太多,需要对一些属性的值做计算操作
问题描述:在java中,如果一个对象属性太多,我们需要对一个对象中的全部属性进行取相反值
解决方法:在类中定义一个函数如下:
我这边对象的属性类型都是BigDecimal类型的
public void setNegateValue() throws IllegalAccessException { Field[] declaredFields = this.getClass().getDeclaredFields(); for (Field field : declaredFields) { //如果属性名称是daySum,不取相反值 if (field.getName().equals("daySum")) { continue; } if (field.get(this) != null && field.get(this) != "") { field.set(this, ((BigDecimal) field.get(this)).negate()); } } }