java遍历类属性,并给字段赋值

您所在的位置:网站首页 java遍历list对象赋值 java遍历类属性,并给字段赋值

java遍历类属性,并给字段赋值

2024-07-16 06:54| 来源: 网络整理| 查看: 265

今天做一个导出excel的功能,需要导出八九十个字段,然后发觉一个字段报空指针异常,遂改用三元运算符,

cell2.setCellValue(prpSsalaries.get(i).getFixedSalary()==null?"0":prpSsalaries.get(i).getFixedSalary().toString());

后来发觉很多BigDecimal字段都为空,然后导出的时候报空指针异常,想想不可能这八九十个字段都加判断吧,然后就写了一个工具类,用来转换 Long,BigDecimal为空的(double默认为0,因此可以忽略),默认为0处理,创建一个辅助类,用于测试,代码如下:

import java.math.BigDecimal; /** * Created by hanjun on 2020/5/28. */ public class Test { private Long Id; private String name; private BigDecimal basicSalary; private BigDecimal notzero=new BigDecimal(1); private double salaryAdd; public Long getId() { return Id; } public void setId(Long id) { Id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public BigDecimal getBasicSalary() { return basicSalary; } public void setBasicSalary(BigDecimal basicSalary) { this.basicSalary = basicSalary; } public double getSalaryAdd() { return salaryAdd; } public void setSalaryAdd(double salaryAdd) { this.salaryAdd = salaryAdd; } public BigDecimal getNotzero() { return notzero; } public void setNotzero(BigDecimal notzero) { this.notzero = notzero; } } import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; /** * Created by hanjun on 2020/5/28. */ public class NoZeroUtil { public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException{ Test aa=new Test(); System.out.println("name:"+aa.getName()); System.out.println("salaryAdd:"+aa.getSalaryAdd()); System.out.println("basicSalary:"+aa.getBasicSalary()); System.out.println("id:"+aa.getId()); System.out.println("notzero:"+aa.getNotzero()); getbig(aa); System.out.println("处理后为name:"+aa.getName()); System.out.println("处理后为salaryAdd:"+aa.getSalaryAdd()); System.out.println("处理后为basicSalary:"+aa.getBasicSalary()); System.out.println("处理后为id:"+aa.getId()); System.out.println("处理后notzero为:"+aa.getNotzero()); } public static void getbig( Object object) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException{ Field[] f=object.getClass().getDeclaredFields(); for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3