记录一个校验对象为空/所有属性为空/null的工具类

本文介绍了一个用于检查对象及其所有属性是否为空或null的Java工具类。考虑到boolean类型的默认值false,该工具类在校验时会忽略值为false的字段。
摘要由CSDN通过智能技术生成

 

因为boolean类型会有默认为false,所以,在校验对象的时候跳过了为false的字段校验,也就是如果为false默认校验改字段为空

package com.t3.ts.driver.resume.utils;

import com.t3.ts.driver.resume.utils.excel.FieldReflectionUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Collection;
import java.util.Map;

/**
 * @Description:
 * @Date: 2019/6/5
 * @Auther: wm yu
 */
public class ObjectCheckUtil {

    private static final Logger log = LoggerFactory.getLogger(ObjectCheckUtil.class);
    /**
     * 传入对象,检查对象是否为null或者所有的属性为空/null,不校验boolean类型为false的情况
     * @return
     */
    public static boolean checkNullAndEmpty(Object obj){
        if(null == obj){
            return true;
        }else if (obj instanceof CharSequence){
            return ((CharSequence) obj).length() == 0;
        }
         else if (obj instanceof Collection){
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java 8的Stream流来校验一个对象的多个属性是否为空,并返回所有为空属性的提示信息。具体实现可以参考以下代码: 假设有一个Person类,包含name、age和address属性: ```java public class Person { private String name; private Integer age; private String address; // 省略getter和setter方法 } ``` 现在需要对一个Person对象的多个属性进行校验判断哪些属性为空,并返回所有为空属性的提示信息。可以使用Stream流来实现: ```java Person person = new Person(); person.setName("张三"); person.setAge(null); person.setAddress(""); List<String> errorList = Stream.of( person.getName() == null ? "姓名不能为空" : "", person.getAge() == null ? "年龄不能为空" : "", person.getAddress() == null || person.getAddress().isEmpty() ? "地址不能为空" : "" ).filter(StringUtils::isNotBlank).collect(Collectors.toList()); if (!errorList.isEmpty()) { String errorMessage = String.join(",", errorList); System.out.println(errorMessage); } ``` 以上代码中,首先创建一个Person对象,并设置name、age和address属性的值。然后使用Stream.of方法创建一个包含所有需要校验属性的Stream流,并使用三元运算符判断每个属性是否为空,如果为空则返回对应的提示信息,否则返回字符串。接着使用filter方法过滤掉所有字符串,最后使用collect方法将所有非空字符串收集到一个List集合中。如果List集合不为空,则将所有提示信息使用String.join方法拼接起来输出即可。 需要注意的是,以上代码中使用了StringUtils工具类的isNotBlank方法来判断字符串是否为空,需要先将该工具类引入项目中。如果不想引入该工具类,也可以自己编写一个判断字符串是否为空的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值