当前位置:首页 > Java技术 > 工具类:判断Java Bean对象所有属性是否为空

工具类:判断Java Bean对象所有属性是否为空

2022年11月07日 17:07:28Java技术14

最近博主有一个项目,需要判断一个JavaBean中的对象属性是否都为null

一开始,博主以为直接用if(Bean == null) 来判断(傻了)

当一个Bean类创建了一个对象,不管那个对象里面有没有只,它肯定不是为空的!

那么,如何判断这个对象里面每个属性的值都为null呢?下面po出代码,大家直接copy就行。

import lombok.extern.slf4j.Slf4j;

import java.lang.reflect.Field;

@Slf4j
public class ObjectUtils {

	private ObjectUtils() {
	}

	/**
	 * 判断类中每个属性是否都为空
	 *
	 * @param o
	 * @return
	 */
	public static boolean allFieldIsNULL(Object o){
		try {
			for (Field field : o.getClass().getDeclaredFields()) {
				field.setAccessible(true);

				Object object = field.get(o);
				if (object instanceof CharSequence) {
					if (!org.springframework.util.ObjectUtils.isEmpty(object)) {
						return false;
					}
				} else {
					if (null != object) {
						return false;
					}
				}
			}
		} catch (Exception e) {
			log.error("判断对象属性为空异常", e);

		}
		return true;
	}

}

要用的时候直接引用,如我有一个User类

创建了个User 对象 user

boolean isAllNull = ObjectUtils.allFieldIsNULL(user);

好啦,这次分享就到这,感谢大家观看

作者:镇潮
来源链接:https://blog.csdn.net/Atimynyc/article/details/83541051

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/68351.html

分享给朋友:

“工具类:判断Java Bean对象所有属性是否为空” 的相关文章

Java空指针异常解决java.lang.NullPointerException解决心得

Java空指针异常解决java.lang.NullPointerException解决心得

今天做课设的时候运行程序报出以下错误 java.lang.NullPointerException 首先要理解的是此错误并不会在 程序中报错,只会在运行的时候报错。 是由于某个参数(集合,数组等数据)可能出现一个null值而导致后面的程序不能运行时...

一分钟搞定Java环境变量配置

一分钟搞定Java环境变量配置

对于学Java的人来说,成功配置环境变量是第一步,因为后期不论 你做什么工作,会发现都需要这些,接下来介绍如何安装与配置,我按照jdk1.6来说明,其他一致。 下载官网 首先将jdk安装好后进行配置。 右击“计算机”,右键打开“属性”,...

深入理解 Java 并发锁

深入理解 Java 并发锁

📦 本文以及示例源码已归档在 javacore 一、并发锁简介 确保线程安全最常见的做法是利用锁机制(Lock、sychronized)来对共享数据做互斥同步,这样在同一个时刻,只有一个线程可以执行某个方法或者某个代码块,那么操作必然是原子性的,线程安全的...

Java 内存模型

Java 内存模型

📦 本文以及示例源码已归档在 javacore Java 内存模型(Java Memory Model),简称 JMM。 JVM 中试图定义一种 JMM 来屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。...

Java实现1到n的倒数的累加和

Java实现1到n的倒数的累加和

从键盘读入一个数,然后进行运算 实现代码: public static void main(String[] args) { Scanner in=new Scanner(System.in); int n ; n=in....

动车上的书摘-java对象流与序列化

动车上的书摘-java对象流与序列化

动车上的书摘-java对象流与序列化摘要: 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢!钢笔不限贵便宜,书法是来自心对手的交流。-泥沙砖瓦浆木匠 一.对象序列化当需要存储相同类型的数据,选...

Java IO 之 OutputStream源码

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆  ...

图解 Java IO : 二、FilenameFilter源码

图解 Java IO : 二、FilenameFilter源码

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆  &...

java中的内部类总结

java中的内部类总结,包括静态内部类、私有内部类、方法内部类等 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动)...

java高级

java高级

  Java动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。下...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。