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; }
总结
到此这篇关于Java判断一个实体是不是空的文章就介绍到这了,更多相关Java判断实体是不是空内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Invalid bound statement (not found)出现原因以及解决办法
这篇文章主要给大家介绍了关于Invalid bound statement (not found)出现原因以及解决办法的相关资料,文中给出了详细的解决方法,需要的朋友可以参考下2023-07-07SpringCloud对服务内某个client进行单独配置的操作步骤
我们的微服务项目用的是springCloud,某个微服务接口因为数据处理量大,出现了接口超时的情况,我们需要单独修改这一个feignClient的超时时间,所以本文介绍了SpringCloud对服务内某个client进行单独配置的操作步骤,需要的朋友可以参考下2023-10-10java字符串日期类Date和Calendar相互转化及相关常用方法
Java语言的Calendar(日历),Date(日期),和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分,下面这篇文章主要给大家介绍了关于java字符串日期类Date和Calendar相互转化及相关常用方法的相关资料,需要的朋友可以参考下2023-12-12
最新评论