Java Objects

本文最后更新于 2024年4月15日 下午

Introduction

java.util.Objects 类是 Java 7 引入的一个实用工具类,提供了一些静态方法来操作对象。它主要用于处理对象的空值情况,避免了空指针异常。

Commonly Used Methods

  • equals(Object a, Object b):比较两个对象是否相等,避免了空指针异- 常。
  • hash(Object... values):计算对象的哈希码,避免了空指针异常。
  • isNull(Object obj):检查对象是否为 null。
  • nonNull(Object obj):检查对象是否不为 null。
  • requireNonNull(T obj):检查对象是否为 null,并抛出 - NullPointerException 异常。
  • compare(T a, T b, Comparator<? super T> c):比较两个对象,如果它们的引用不相同,在使用 Comparator 实例比较。

In Practice

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 比较两个对象是否相等,避免了空指针异常
String str1 = "hello";
String str2 = "world";
boolean isEqual = Objects.equals(str1, str2);
System.out.println("Are strings equal? " + isEqual);

// 计算对象的哈希码,避免了空指针异常
int hashCode = Objects.hash(str1, str2);
System.out.println("Hash code: " + hashCode);

// 检查对象是否为 null
Object obj = null;
if (Objects.isNull(obj)) {
System.out.println("Object is null");
}

// 检查对象是否不为 null
obj = new Object();
if (Objects.nonNull(obj)) {
System.out.println("Object is not null");
}

// 检查对象是否为 null,并抛出 NullPointerException 异常
String name = null;
try {
String result = Objects.requireNonNull(name, "Name cannot be null");
} catch (NullPointerException e) {
System.out.println(e.getMessage());
}

Java Objects
https://stein283036.github.io/2024/04/15/Java-Objects/
作者
倪京龙
发布于
2024年4月15日
更新于
2024年4月15日
许可协议