JavaBean字段防止非空赋值

本文介绍了如何创建JavaBean并使用反射工具类来避免字段非空赋值导致的错误,特别是针对Date类型和字符串类型转化的问题进行了讨论,并提供了测试案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

工具类制作起因,有时候项目中出一点点错误,在所难免,经常,有些地方的字段是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))中进行报错
 */
public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值