当前位置:首页 > 科技  > 软件

Springboot内置的工具类之ObjectUtils

来源: 责编: 时间:2023-11-09 09:14:42 381观看
导读在实际业务开发中,有时候经常需要判断对象是否为空、数组是否为空、两个对象是否相等,数组中是否包含某个元素,往数组中追加元素等这些操作,每次都手写太麻烦,然后很多人的选择是封装成util工具类,实际上类似这些东西,如果项

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

ObjectUtils

全限定类名:org.springframework.util.ObjectUtilspb628资讯网——每日最新资讯28at.com

  • boolean isEmpty(Object obj)

作用:pb628资讯网——每日最新资讯28at.com

obj可以是普通对象,也可以是普通数组,如果obj为空(null或is empty),则返回true;否则返回false;pb628资讯网——每日最新资讯28at.com

  • boolean isEmpty(Object[] array)

作用:pb628资讯网——每日最新资讯28at.com

array参数是数组,如果数组array为空(null或is empty),则返回true;否则返回false;pb628资讯网——每日最新资讯28at.com

  • boolean isArray(Object obj)

作用:参数是对象,如果参数对象obj是数组,则返回true;否则返回false;pb628资讯网——每日最新资讯28at.com

  • boolean containsElement(Object[] array, Object element)

作用:pb628资讯网——每日最新资讯28at.com

参数array为目标数组,参数element为普通待判断的元素,如果目标数组array中包含元素element,则返回true; 否则返回false;pb628资讯网——每日最新资讯28at.com

  • boolean nullSafeEquals(Object o1, Object o2)

作用:pb628资讯网——每日最新资讯28at.com

参数为o1、o2为普通对象,可以是数字、字符、对象、数组,如果o1与o2相等,则返回true;否则返回false;pb628资讯网——每日最新资讯28at.com

  • String nullSafeToString(Object obj)

作用:pb628资讯网——每日最新资讯28at.com

参数obj可以是普通对象、布尔类型、byte类型、字符类型、浮点型、双精度浮点型、整型、长整型、短整型其中一种pb628资讯网——每日最新资讯28at.com

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

作用:参数array为目标数组,参数obj为待添加元素,向参数数组array的末尾追加新元素obj,并返回一个新数组;pb628资讯网——每日最新资讯28at.com

@Testpublic 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种,有兴趣的小伙伴可以继续深入探索下去。pb628资讯网——每日最新资讯28at.com

图片pb628资讯网——每日最新资讯28at.com


pb628资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-17892-0.htmlSpringboot内置的工具类之ObjectUtils

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Python中的双下划线:特殊方法和属性的魔法世界!

下一篇: Spring Cloud Gateway可扩展的微服务网关使用教程

标签:
  • 热门焦点
  • 小米官宣:2023年上半年出货量中国第一!

    今日早间,小米电视官方微博带来消息,称2023年小米电视上半年出货量达到了中国第一,同时还表示小米电视的巨屏风暴即将开始。“公布一个好消息2023年#小米电视上半年出货量中国
  • 把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • 三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 这款新兴工具平台,让你的电脑效率翻倍

    随着信息技术的发展,我们获取信息的渠道越来越多,但是处理信息的效率却成为一个瓶颈。于是各种工具应运而生,都在争相解决我们的工作效率问题。今天我要给大家介绍一款效率
  • 零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • 华为开发者大会2023日程公开:开设鸿蒙HarmonyOS 4体验区

    IT之家 7 月 31 日消息,华为今日公布了 HDC.Together 开发者大会 2023 的详细日程。整场大会将于 8 月 4 日-6 日之间举行,届时将发布最新一代鸿蒙 H
  • 由于成本持续增加,笔记本产品价格预计将明显上涨

    根据知情人士透露,由于材料、物流等成本持续增加,笔记本产品价格预计将在2021年下半年有明显上涨。进入6月下旬以来,全球半导体芯片缺货情况加剧,显卡、处理器
Top