目录
  • 1、对象是否为null
  • 3、集合是否为空
  • 4、数组是否为空
  • 附:Java 判断实体类对象的全部属性是否空
  • 总结

在Java中,我们可以使用以下方法来判断一个实体是否为空:

1、对象是否为null

可以使用Java中的==运算符来判断一个对象是否为null,如果对象为null,则表示对象为空。

例如:

Object obj = null;
if (obj == null) {
    System.out.println("对象为空");
}

2、字符串是否为空

可以使用Java中的isEmpty()方法来判断一个字符串是否为空,如果字符串为空,则返回true。

例如:

String str = "";
if (str.isEmpty()) {
    System.out.println("字符串为空");
}

3、集合是否为空

可以使用Java中的isEmpty()方法来判断一个集合是否为空,如果集合为空,则返回true。

例如:

List<String> list = new ArrayList<String>();
if (list.isEmpty()) {
    System.out.println("集合为空");
}

4、数组是否为空

在Java中,数组是一个对象,可以使用==运算符来判断一个数组是否为空,如果数组为null,则表示数组为空。

例如:

int[] arr = null;
if (arr == null) {
    System.out.println("数组为空");
}

综上所述,我们可以使用不同的方法来判断一个实体是否为空,具体使用哪种方法取决于实体的类型和具体情况。

附:Java 判断实体类对象的全部属性是否空

代码:

public boolean checkObjAllFieldsIsNull(Object object) {
        // 如果对象为null直接返回true
        if (null == object) {
            return true;
        }
        try {
            // 挨个获取对象属性值
            for (Field f : object.getClass().getDeclaredFields()) {
                f.setAccessible(true);
                // 如果有一个属性值不为null,且值不是空字符串,就返回false
                if (f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {
                    return false;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }

如果持久层用的是 MyBatis-Plus 框架,上面的代码会一直返回 false,这时候需要先在需要判断的实力类对象中加入 serialVersionUID 全局参数

private static final long serialVersionUID = 1L;

再使用下面的代码:

import java.lang.reflect.Field;
/**
     * 判断实体类对象的属性值是否全部为空
     * @param object
     * @return
     */
public boolean checkObjAllFieldsIsNull(Object object) {
        // 如果对象为null直接返回true
        if (null == object) {
            return true;
        }
        try {
            // 挨个获取对象属性值
            for (Field f : object.getClass().getDeclaredFields()) {
                f.setAccessible(true);
                // 如果属性名不为serialVersionUID,有一个属性值不为null,且值不是空字符串,就返回false
                if (!"serialVersionUID".equals(f.getName()) &&
                        f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {
                    return false;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }

总结

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。