前言
工具类制作起因,有时候项目中出一点点错误,在所难免,经常,有些地方的字段是String,但是到了其他地方是Long,Date,Interger,BigDecimal,这个时候每次都需要判断下是否为空,否则就会在New BigDecimal(string)
等中转化失败,报空指针。 如果字段很多,简直太恶心了。
这里日期是最恶心心,日期分为Date类型和String类型 转化为Date
举例
if(string!=null){
date.setBigValue(new BigDecimal(string));
}
1、JavaBean制作
1.1、初始JavaBean User
public class User {
/**
* 如果属性类型为基本数据类型,则会有默认值
* 影响正确判断,请特别注意
*/
// private int age;
private Integer age;
private String name;
private String gender;
private BigDecimal bigDecimal;
private Date date ;
private Long longvalue;
private String dateStr ; //注意这里是String类型的日期 例如 2018-12-09 00:00:00
get set……
1.2、被赋值的JavaBean
/**
* 作者 :HealerJean
* 日期 :2018/12/13 上午11:03.
* 类描述:
*/
public class UserNow {
private String nameNow;
private String genderNow;
private Integer ageNow;
private BigDecimal bigDecimalNow ;
private Date dateNow ;
private Long longvalueNow;
private Date dateStrNow ; //注意这里是Date类型
get set……
2、利用反射实现工具类
需要注意的是,下面的日期,在我们通过反射获取到值的时候,它打印出来的是英文日期串,我们需要对他进行一个转化
package com.hlj.IgnoreNullBean;
import org.junit.platform.commons.util.StringUtils;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
/**
* 作者 :HealerJean
* 日期 :2018/12/13 上午10:55.
* 类描述 防止非空字段,在类似于 new BigDecimal(string))中进行报错
*/