常用工具类ObjectUtils

作者简介:码上言

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

专栏内容:个人博客系统

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

文章目录

常用工具类ObjectUtils

引入包

java 复制代码
<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。

java 复制代码
String str = "";
boolean empty = ObjectUtils.isEmpty(str); // true
  1. isNotEmpty(Object obj)

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

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

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

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

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

java 复制代码
String str = "Hello";
int hashCode = ObjectUtils.hashCode(str); // 69609650
  1. toString(Object obj)

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

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

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

java 复制代码
String str = null;
String defaultStr = "default";
String result = ObjectUtils.defaultIfNull(str, defaultStr); // "default"
  1. allNotNull(Object... objects)

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

java 复制代码
String str1 = "Hello";
String str2 = "World";
boolean allNotNull = ObjectUtils.allNotNull(str1, str2); // true
  1. anyNotNull(Object... objects)

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

java 复制代码
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,则返回正数。

java 复制代码
Integer num1 = 123;
Integer num2 = 456;
int result = ObjectUtils.compare(num1, num2); // -1
  1. min(Comparable... values)

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

java 复制代码
Integer num1 = 123;
Integer num2 = 456;
Integer min = ObjectUtils.min(num1, num2); // 123
  1. max(Comparable... values)

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

java 复制代码
Integer num1 = 123;
Integer num2 = 456;
Integer max = ObjectUtils.max(num1, num2); // 456
  1. clone(Object obj)

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

java 复制代码
Person person = new Person("John", 30);
Person clone = ObjectUtils.clone(person); // 返回person的克隆对象
相关推荐
karry_k12 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k12 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
SamDeepThinking16 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
她的男孩18 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码20 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
plainGeekDev1 天前
Gson → kotlinx.serialization
android·java·kotlin
小bo波1 天前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯1 天前
GoF设计模式——备忘录模式
java·后端·spring·设计模式