首页 > 其他分享 >apache的对象工具类ObjectUtils

apache的对象工具类ObjectUtils

时间:2023-11-29 09:11:40浏览次数:33  
标签:输出 null 对象 Person apache new 工具 ObjectUtils

org.apache.commons.lang3.ObjectUtils主要是Apache提供的对对象进行操作的工具类。它会使代码变得更加优雅。

判断对象是否为空

boolean isEmpty = ObjectUtils.isEmpty(new Person());
//输出:false
boolean isEmpty = ObjectUtils.isEmpty(null);
//输出:true

检查元素是否为空

//检查所有元素是否都不为空
boolean isAllNotNull = ObjectUtils.allNotNull(new Person(), null);
//输出:false
//检查所有元素是否至少有一个非空
boolean isAnyNotNull = ObjectUtils.anyNotNull(new Person(), null);
//输出:true

拷贝对象(引用拷贝)

引用拷贝也就是我们常用的对象赋值,这种方式不会生成新的对象,只会在原对象上增加了一个新的对象引用,两个引用指向的对象还是是同一个。

Person p = new Person();
p.setName("张三");
//引用拷贝,两个引用指向的还是同一个对象
Person newP = ObjectUtils.cloneIfPossible(p);
System.out.println(newP.getName());
//输出:张三

找非空对象

//如果对象为空,返回默认值
Person p2 = new Person();
p2.setName("李四");
Person newP2 = ObjectUtils.defaultIfNull(null, p2);
System.out.println(newP2.getName());
//输出:李四
//返回对象列表中第一个不为空的对象
Person p1 = new Person();
p1.setName("李四");
Person newP1 = ObjectUtils.firstNonNull(null, p1, null);
System.out.println(newP1.getName());
//输出:李四

对象比较大小

//比较两数字,null最小
int compare = ObjectUtils.compare(10, null);
//输出:1
//比较两数字,null最大
int compare = ObjectUtils.compare(10, null, true);
//输出:-1
//取最大值,null为最小
int max = ObjectUtils.max(10, null);
//输出:10

将参数转换为常量

final int num = ObjectUtils.CONST(12);
//输出:12

 

标签:输出,null,对象,Person,apache,new,工具,ObjectUtils
From: https://www.cnblogs.com/xfeiyun/p/17863691.html

相关文章

  • java 线上问题跟踪用到的工具
    java线上问题跟踪用到的工具pref可以跟踪jvm进程的方法调用频度分析一些问题gperftools这东西还需要编译安装比较麻烦,需要运维提前安装好arthans阿里的一个在线工具挺不错的jvm内置工具jstat-gcpidjmap-heappidlinux提供的pmap-xpidtop-Hppid查看这个p......
  • idea报错,java: 程序包org.apache.ibatis.annotations不存在
    这个错误表明在你的项目中,IDEA找不到MyBatis的注解包org.apache.ibatis.annotations。这个包通常包含了一些MyBatis的注解,比如@Select、@Insert等,用于在接口中定义SQL查询或操作。解决这个问题的方法有几个:1.检查MyBatis依赖:确保在你的Maven或Gradle项目中正确......
  • MapUtils工具类
    针对mybatis3下的org.apache.ibatis.uitl下的MapUtils说明: 代码如下:publicclassMapUtil{/***AtemporaryworkaroundforJava8specificperformanceissueJDK-8161372.<br>*ThisclassshouldberemovedoncewedropJava8support.**@see&l......
  • VisionPro学习笔记(5)——极轴展开工具PolarUnwrapTool
    如果需要了解其他图像处理的文章,请移步小编的GitHub地址传送门:请点击我如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPracticeVisionPro有很多的示例和算子,这里展示一个基础的算子PolarUnwrapTool。我自己的笔记不会按照顺序一一展示出来的,也许那......
  • 2024年项目管理利器:十大工具全面解析!
    十大项目管理系统包括:1.产品研发项目管理工具:PingCode;2.通用项目协作工具:Worktile;3.开源项目管理系统:Redmine;4.IT/敏捷项目管理系统:Jira;5.免费个人项目管理:Teambition;6.桌面项目管理工具:MSProject;7.在线项目管理工具:Asana;8.小团队项目管理工具平台:Trello;9.通用型项目管理APP:Cl......
  • Scrum敏捷开发流程核心及敏捷支持工具
    ​Scrum是一种敏捷开发框架,用于管理复杂的项目。以下这些步骤构成了Scrum敏捷开发流程的核心。通过不断迭代、灵活应对变化和持续反馈,Scrum框架帮助团队快速交付高质量的产品。以下是Scrum敏捷开发流程的基本步骤:产品Backlog创建: 产品负责人与利益相关者合作,制定产品Backlog......
  • Apache DolphinScheduler(海豚调度系统)介绍与环境部署
    https://dolphinscheduler.apache.org/zh-cn/docs/3.2.0  一、概述ApacheDolphinScheduler(简称DolphinScheduler)是一种开源的、分布式的、易于使用的大数据工作流调度系统。它旨在为大数据处理提供一个可靠、高效和可扩展的调度解决方案。DolphinScheduler具有以下特点和......
  • Python-JSON文件操作简化的工具库,支持读取和修改
    这是一个关于python操控json的工具类可以利用get方法以路径的形式查看内容,输出的格式为列表或字典change方法用于修改指定路径下的内容,支持修改内容为字典和列表的形式修改后使用save方法进行保存以下是代码:importjsonimporttimeimportrandomclassError_message:......
  • mybatisPlus报orq.apache ibatisbinding.BindingException: Invalid bound statement
     出现这种问题依次检查下列内容1.检查xml映射文件中标签绑定包名地址是否正确(即namespace的值)2.检查xxxMapper接口中的方法,对应xml映射文件中是否有3.检查标签中的resultType是否与xxxMapper接口中的方法返回值类型一致,若一个是对象一个是集合,那也会报错~4.检查yml配置文件中......
  • pip工具安装
    pip工具(1)安装第三方模块pipinstall模块名==#查看我当前模块都有哪些版本pipinstall模块名==版本号#安装指定版本的模块(2)卸载模块pipuninstall模块名临时换源pipinstall模块名-i镜像原地址镜像源清华大学: https://pypi.tuna.tsinghua.edu......