常用工具类ObjectUtils

作者简介:码上言


代表教程:Spring Boot + vue-element 开发个人博客项目实战教程


专栏内容:个人博客系统


我的文档网站:http://xyhwh-nav.cn/

文章目录

    • 常用工具类ObjectUtils
      • 引入包
      • 常用方法

常用工具类ObjectUtils

引入包

<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version>
</dependency>

常用方法

  1. isEmpty(Object obj)

检查对象是否为空。如果对象为null或者为空字符串、空数组、空Collection、空Map或者空Iterator,则返回true;否则返回false。

String str = "";
boolean empty = ObjectUtils.isEmpty(str); // true
  1. isNotEmpty(Object obj)

检查对象是否非空。如果对象不为null且不为空字符串、空数组、空Collection、空Map或者空Iterator,则返回true;否则返回false。

String str = "Hello";
boolean notEmpty = ObjectUtils.isNotEmpty(str); // true
  1. equals(Object object1, Object object2)

比较两个对象是否相等,可以处理null值,避免了NullPointerException的出现。

String str1 = "Hello";
String str2 = "Hello";
boolean equals = ObjectUtils.equals(str1, str2); // true
  1. hashCode(Object obj)

计算对象的哈希码,可以处理null值。

String str = "Hello";
int hashCode = ObjectUtils.hashCode(str); // 69609650
  1. toString(Object obj)

将对象转换为字符串。如果对象为空,则返回字符串"null"。

int num = 123;
String str = ObjectUtils.toString(num); // "123"
  1. defaultIfNull(T object, T defaultValue)

如果对象为空,则返回默认值。

String str = null;
String defaultStr = "default";
String result = ObjectUtils.defaultIfNull(str, defaultStr); // "default"
  1. allNotNull(Object… objects)

检查多个对象是否都不为空。如果所有对象都不为空,则返回true;否则返回false。

String str1 = "Hello";
String str2 = "World";
boolean allNotNull = ObjectUtils.allNotNull(str1, str2); // true
  1. anyNotNull(Object… objects)

检查多个对象中是否至少有一个不为空。如果至少有一个对象不为空,则返回true;否则返回false。

String str1 = "Hello";
String str2 = null;
boolean anyNotNull = ObjectUtils.anyNotNull(str1, str2); // true
  1. compare(Comparable c1, Comparable c2)

比较两个可比较的对象的大小。可以处理null值。如果c1小于c2,则返回负数;如果c1等于c2,则返回0;如果c1大于c2,则返回正数。

Integer num1 = 123;
Integer num2 = 456;
int result = ObjectUtils.compare(num1, num2); // -1
  1. min(Comparable… values)

返回一组可比较对象中的最小值,可以处理null值。

Integer num1 = 123;
Integer num2 = 456;
Integer min = ObjectUtils.min(num1, num2); // 123
  1. max(Comparable… values)

返回一组可比较对象中的最大值,可以处理null值。

Integer num1 = 123;
Integer num2 = 456;
Integer max = ObjectUtils.max(num1, num2); // 456
  1. clone(Object obj)

克隆一个对象。如果对象实现了Cloneable接口,则调用其clone()方法进行克隆;否则返回null。

Person person = new Person("John", 30);
Person clone = ObjectUtils.clone(person); // 返回person的克隆对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/705412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机图形学】Where2Act: From Pixels to Actions for Articulated 3D Objects

文章目录 1.论文做了件什么事儿2. 论文为什么要做这件事3. 介绍Introduction4. 相关工作预测语义表达推理几何和物体属性从被动观察中学习Affordance从交互中学习感知 5. 问题陈述6. 方法6.1 网络模块主干特征提取器可运动性评分模块运动建议模块运动评分模块 6.2 训练数据收集…

编曲学习:高叠和弦 挂留和弦 和弦实战应用

高叠和弦 挂留和弦 和弦实战应用小鹅通-专注内容付费的技术服务商https://app8epdhy0u9502.pc.xiaoe-tech.com/live_pc/l_65d4826fe4b04c10a1310517?course_id=course_2XLKtQnQx9GrQHac7OPmHD9tqbv 七和弦 以三和弦举例,三和弦上面叠一个三度的音,就变成了七和弦。 从下到…

消息中间件篇之Kafka-高可用机制

一、 集群模式 1. Kafka的服务器端由被称为Broker的服务进程构成&#xff0c;即一个Kafka集群由多个Broker组成。 2. 这样如果集群中某一台机器宕机&#xff0c;其他机器上的 Broker 也依然能够对外提供服务。这其实就是 Kafka 提供高可用的手段之一。 二、分区备份机制 1. 一个…

英语四级,求职的必备项?【文章底部添加可得内推码汇总表】

目录 英语四级&#xff1a;求职的砝码 提升职业竞争力 国内外机会双丰收 系统备考英语四级 实际运用英语 强调英语四级证书 在当今全球化的职场中&#xff0c;英语四级证书愈发成为求职的必备项。它不仅仅是一张证书&#xff0c;更是通向更广阔职业世界的关键通行证。本文…

【自然语言处理四-从矩阵操作角度看 自注意self attention】

自然语言处理四-从矩阵操作角度看 自注意self attention 从矩阵角度看self attention获取Q K V矩阵注意力分数softmax注意力的输出再来分析整体的attention的矩阵操作过程从矩阵操作角度看&#xff0c;self attention如何解决问题的&#xff1f;W^q^ W^k^ W^v^这三个矩阵怎么获…

前后端分离nodejs+vue高校教材征订系统47nia

本教材管理网站是为了提高用户查阅信息的效率和管理人员管理信息的工作效率&#xff0c;可以快速存储大量数据&#xff0c;还有信息检索功能&#xff0c;这大大的满足了学生、教师和管理员这三者的需求。操作简单易懂&#xff0c;合理分析各个模块的功能&#xff0c;尽可能优化…

Window系统本地搭建LightPicture网站并实现远程上传下载本地图片

文章目录 1.前言2. Lightpicture网站搭建2.1. Lightpicture下载和安装2.2. Lightpicture网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 现在的手机越来越先进&#xff0c;功能也越来越多&#xff0c;而手机…

leetcode 2867. 统计树中的合法路径数目【筛质数+贡献法】

原题链接&#xff1a;2867. 统计树中的合法路径数目 题目描述&#xff1a; 给你一棵 n 个节点的无向树&#xff0c;节点编号为 1 到 n 。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges &#xff0c;其中 edges[i] [ui, vi] 表示节点 ui 和 vi 在树中有一条边。 …

Java学习之旅:从新手到专家的全面指南

Java作为一种广泛使用的编程语言&#xff0c;其强大的功能和跨平台的特性使其成为学习编程的优选。无论你是编程新手还是希望提升现有技能的开发者&#xff0c;掌握Java都将为你的职业生涯开启无限可能。本文将为你提供一个全面的Java学习路线图&#xff0c;帮助你从基础知识出…

群狼调研(长沙游客满意度调查) | 公园游客满意度调查指标设计

本文由群狼调研&#xff08;长沙旅游景点满意度调查&#xff09;出品&#xff0c;欢迎转载&#xff0c;请注明出处。设计公园游客满意度调查指标需要仔细考虑&#xff0c;以确保综合评估游客的体验和需求。以下是一些常见的公园游客满意度调查指标&#xff0c;您可以根据具体情…

【服务器数据恢复】ext3文件系统下硬盘坏道掉线的数据恢复案例

服务器数据恢复环境&#xff1a; 一台IBM某型号服务器上有16块FC硬盘组建RAID阵列。上层linux操作系统&#xff0c;ext3文件系统&#xff0c;部署有oracle数据库。 服务器故障&检测&#xff1a; 服务器上跑的业务突然崩溃&#xff0c;管理员发现服务器上有2块磁盘的指示灯…

PyQt6的开发流程(密码生成小程序为例)

PyQt6的开发流程&#xff08;密码生成小程序为例&#xff09; 文章目录 PyQt6的开发流程&#xff08;密码生成小程序为例&#xff09;一、流程介绍与概览1. 界面与逻辑分离的开发流程2. PyQt6的开发流程 二、打开 designer.exe 创建文件三、用QT设计师绘制界面保存成ui1. QT常用…

Android之UI Automator框架源码分析(第九篇:UiDevice获取UiAutomation对象的过程分析)

前言 通过UiDevice的构造方法&#xff0c;UiDevice对象持有的几个对象一部分是在构造方法中创建的&#xff08;初始化&#xff09;&#xff0c;它持有的每个对象都是分析的重点 备注&#xff1a;当前对象持有的对象&#xff0c;它的位置一般在实例变量创建时或者构造方法中&…

遇见您的私人法律顾问:智能法律大模型,智能解答您的法律困惑

遇见您的私人法律顾问&#xff1a;智能法律大模型&#xff0c;智能解答您的法律困惑 为了让法律服务深入到每个人的身边&#xff0c;让更多的人能够得到法律帮助&#xff0c;开启了【律知】这个项目, 致力于打造一系列引领法律智能化的大模型。AI 法律模型是一位虚拟法律顾问&…

vue3实现页面跳转

有需求是在vue项目中实现点击按钮完成页面跳转。这里不适用a标签&#xff0c;而是用vue自带的vue-router。 首先看一下项目结构 src │ App.vue │ main.js │ ├─router │ index.js │ └─views index.vue content.vue 可以看到&…

【Spring连载】使用Spring Data的Repositories----核心概念Core concepts

【Spring连载】使用Spring Data的Repositories----核心概念Core concepts 实体状态检测策略 Spring Data存储库抽象中的中心接口是Repository。它使用要管理的域类以及域类的标识符类型作为类型参数。此接口主要充当标记接口&#xff0c;用于捕获要使用的类型&#xff0c;并帮助…

FPS游戏之漫谈游戏服务器架构设计

FPS射击游戏的服务器架构设计需要考虑到许多因素&#xff0c;包括性能、可扩展性、安全性和稳定性。以下是一个基本的FPS游戏服务器架构设计 1.登录服务器 在FPS射击游戏中&#xff0c;登录服务器主要负责以下几个方面的职责&#xff1a; 用户身份验证&#xff1a;登录服务器…

探索比特币现货 ETF 对加密货币价格的潜在影响

撰文&#xff1a;Sean&#xff0c;Techub News 文章来源Techub News&#xff0c;搜Tehub News下载查看更多Web3资讯。 自美国比特币现货交易所交易基金&#xff08;ETF&#xff09;上市以来&#xff0c;比特币现货 ETF 的相关信息无疑成为了影响比特币价格及加密货币市场走向…

德国半导体公司 TDK-Micronas 通过 OpenText ETX 加速产品开发,缩短研发上市时间

TDK-Micronas 存在的挑战 服务器在分散的开发中心上运行&#xff1b;需要减少研发&#xff08;R&D&#xff09;时间&#xff1b;需要集中管理&#xff0c;包括用户配置文件&#xff1b;跨多地保护知识产权 &#xff08;IP&#xff09;。 成果 快速的应用程序访问缩短整体…

使用向量数据库pinecone构建应用03:推荐系统 Recommender Systems

Building Applications with Vector Databases 下面是这门课的学习笔记&#xff1a;https://www.deeplearning.ai/short-courses/building-applications-vector-databases/ Learn to create six exciting applications of vector databases and implement them using Pinecon…