📜  Guava-对象类(1)

📅  最后修改于: 2023-12-03 15:31:05.046000             🧑  作者: Mango

Guava-对象类

Guava是一个Google公司开源的Java工具库,提供了许多常用的工具类和方法。其中,Guava-对象类为开发人员提供了方便的对象操作工具。

常用工具类
Objects

Objects类提供了一些操作对象的工具方法。

equals

判断两个对象是否相等,避免了空指针的风险。

Objects.equals("a", "a"); // true
Objects.equals(null, "a"); // false
Objects.equals("a", null); // false
Objects.equals(null, null); // true

hashCode

提供了一个方便的方法来生成对象的哈希码值。

Objects.hashCode("a", "b", "c"); // 1096953323

toString

提供了一个方便的方法将对象转换为字符串,避免了空指针的风险。

Objects.toString("a"); // "a"
Objects.toString(null, "default"); // "default"
MoreObjects

MoreObjects类提供了一些更多的对象操作方法。

toStringHelper

可以将对象转换为字符串,并且可以设置对象的字段名和值。

public class User {
    private String name;
    private int age;
    // 省略构造函数和getter、setter方法
}
User user = new User("张三", 18);
String result = MoreObjects.toStringHelper(User.class)
        .add("name", user.getName())
        .add("age", user.getAge())
        .toString();
// 输出:"User{name=张三, age=18}"

firstNonNull

返回第一个非空的对象,避免了空指针的风险。

MoreObjects.firstNonNull(null, "a"); // "a"
MoreObjects.firstNonNull("a", null); // "a"
MoreObjects.firstNonNull(null, null); // null
结语

Guava-对象类提供了一些开发中常用的对象操作方法,可以较好地避免空指针和提高代码的可读性。更多工具类和方法可以参考Guava的官方文档