首页 > 其他分享 >Springboot内置的工具类之ObjectUtils

Springboot内置的工具类之ObjectUtils

时间:2023-11-12 18:01:09浏览次数:27  
标签:内置 obj Springboot Object boolean 数组 array ObjectUtils

Springboot内置的工具类之ObjectUtils_System

在实际业务开发中,有时候经常需要判断对象是否为空、数组是否为空、两个对象是否相等,数组中是否包含某个元素,往数组中追加元素等这些操作,每次都手写太麻烦,然后很多人的选择是封装成util工具类,实际上类似这些东西,如果项目使用了spring的框架,根本不需要封装,org.springframework.util.ObjectUtils类中已经封装好了各种的静态方法供你调用。那就一起来学习一下吧。

org.springframework.util.ObjectUtils

boolean isEmpty(Object obj)

作用:

obj可以是普通对象,也可以是普通数组,如果obj为空(null或is empty),则返回true;否则返回false;


boolean isEmpty(Object[] array)

作用:

array参数是数组,如果数组array为空(null或is empty),则返回true;否则返回false;


boolean isArray(Object obj)

作用:参数是对象,如果参数对象obj是数组,则返回true;否则返回false;


boolean containsElement(Object[] array, Object element)

作用:

参数array为目标数组,参数element为普通待判断的元素,如果目标数组array中包含元素element,则返回true; 否则返回false;


boolean nullSafeEquals(Object o1, Object o2)

作用:

参数为o1、o2为普通对象,可以是数字、字符、对象、数组,如果o1与o2相等,则返回true;否则返回false;

String nullSafeToString(Object obj)

作用:

参数obj可以是普通对象、布尔类型、byte类型、字符类型、浮点型、双精度浮点型、整型、长整型、短整型其人中一种


A[] addObjectToArray(A[] array, O obj)

作用:参数array为目标数组,参数obj为待添加元素,向参数数组array的末尾追加新元素obj,并返回一个新数组;

@Test
public void objectUtilsTest(){
    Employee employee = new Employee();
    employee.setRealName("zhangsan");
    boolean empty = ObjectUtils.isEmpty(employee);
    System.out.println("isEmpty:"+empty);
    Employee[] employees={employee};
    boolean empty1 = ObjectUtils.isEmpty(employees);
    System.out.println("isEmpty(arrar):"+empty1);
    boolean array = ObjectUtils.isArray(employees);
    System.out.println("isArray:"+array);
    Employee tar = new Employee();
    tar.setRealName("zhangsan");
    boolean b = ObjectUtils.containsElement(employees, tar);
    System.out.println("containsElement:"+b);
    boolean b1 = ObjectUtils.nullSafeEquals(employee, tar);
    System.out.println("nullSafeEquals:"+b1);
    Employee lisi = new Employee();
    lisi.setRealName("lisi");
    Employee[] employees1 = ObjectUtils.addObjectToArray(employees, lisi);
    System.out.println("addObjectToArray:"+employees1);
    String string = ObjectUtils.nullSafeToString(employees1);
    System.out.println("nullSafeToString:"+string);
}

总结

org.springframework.util.ObjectUtils类中有很多已经封装好的静态方法,平时用到的里面基本都有,下面是整体的UML类图,这里只是分享其中用互频率非常高的7种,有兴趣的小伙伴可以继续深入探索下去。

Springboot内置的工具类之ObjectUtils_System_02


标签:内置,obj,Springboot,Object,boolean,数组,array,ObjectUtils
From: https://blog.51cto.com/fanfu1024/8330348

相关文章

  • SpringBoot3.x使用Swagger
    SpringBoot3.x使用Swagger当前开发主流是前后端分离,有完整文档可以使团队配合更加流畅Spring生态中通常使用springfox,但是当前springfox并不支持SpringBoot3.x版本使用替代产品:Springdoc.orgSpringdoc在v1.7.0版本之后不支持SpringBoot2.x和1.x!!!项目启动后,Swagger默认地址......
  • SpringBoot创建非web项目
    从开始使用SpringBoot到现在,一直都是在用SpringBoot开发web服务(API服务),其实SpringBoot也支持非web项目。Spring诞生之初就不是为web项目定制的,SpringBoot无非是在spring核心项目的基础上添加了一些方便开发者使用的组件,所以使用SpringBoot开发非web项目也是可行的。依赖创建web......
  • SpringBoot @Async:魔法和陷阱
    来源:https://medium.com/@Async注解就像是springboot项目中性能优化的秘密武器。是的,我们也可以手动创建自己的执行器和线程池,但@Async使事情变得更简单、更神奇。@Async注释允许我们在后台运行代码,因此我们的主线程可以继续运行,而无需等待较慢的任务完成。但是,就像所有秘密武器一......
  • 基于SpringBoot的来访管理系统的设计与实现-计算机毕业设计源码+LW文档
    摘 要本文首先实现了来访管理技术的发展,随后依照传统的软件开发流程,最先为系统挑选适用的言语和软件开发平台,依据需求分析开展控制模块制作和数据库查询构造设计,依据系统整体功能模块的设计,制作系统的功能模块图、流程表和E-R图。其次进行设计框架,依据设计的框架撰写编码,完成系......
  • 基于springboot的旅游出行指南-计算机毕业设计源码+LW文档
    摘 要随着社会的发展,旅游出行的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但旅游出行信息鱼龙混杂,信息真假难以辨别。为了方便用户更好的获得本旅游出行信息,因此,设计一种安全高效的旅游出行指南极为重要。为设计一个安全便捷,并且使用户更好获取本旅游出行信息,本文......
  • springboot学习日记(二)
    运行springboot项目报错o.s.b.d.LoggingFailureAnalysisReporter,查资料试着查一下端口占用8080。netstat-aon|findstr8080发现8080端口被进程8768占用。 查找8768进程的程序tasklist|findstr8768发现是腾讯会议。。。 退出了再试试,还是没解决问题。。很好,排除一......
  • SpringBoot整合Ajax
    使用springboot整合ajax实现登录验证及查询信息。添加jar依赖<dependencies><!--<dependency>--><!--<groupId>org.aspectj</groupId>--><!--<artifactId>aspectjweaver</artifactId>-->......
  • SQLite 内置打印 printf
    SQLite内置打印printf格式详细信息printf()的格式字符串是生成字符串的模板。每当格式字符串中出现%字符时,就会进行替换。%后跟一个或多个描述替换的附加字符。每个替换都具有以下格式:%[flags][width][.precision][length]type所有替换都以单个%开头,并以单个类型字符结......
  • SpringBoot项目集成ElasticSearch服务
    目录版本介绍背景介绍优势说明集成过程1.引入依赖2.添加配置文件3.初始化示例说明代码结果总结提升版本介绍  Springboot的版本是:2.3.12  ElasticSearch的版本是:7.6.2背景介绍  在我们的项目中经常会遇到对于字符串的一些操作,例如对于字符串的分词,通过一个词去查找对应......
  • 博客管理系统|基于SpringBoot+Vue+ElementUI付费博客系统的设计与实现
    作者主页:编程指南针作者简介:Java领域优质创作者、博客专家、特邀作者、多年架构师设计经验、腾讯课堂常驻讲师主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助收藏点赞不迷路 关注作者有好处项目编号:BS-PT-089二,环境介绍语言环境:Java: jdk1.8数据库:Mysql......