📅  最后修改于: 2023-12-03 15:31:05.046000             🧑  作者: Mango
Guava是一个Google公司开源的Java工具库,提供了许多常用的工具类和方法。其中,Guava-对象类为开发人员提供了方便的对象操作工具。
Objects类提供了一些操作对象的工具方法。
判断两个对象是否相等,避免了空指针的风险。
Objects.equals("a", "a"); // true
Objects.equals(null, "a"); // false
Objects.equals("a", null); // false
Objects.equals(null, null); // true
提供了一个方便的方法来生成对象的哈希码值。
Objects.hashCode("a", "b", "c"); // 1096953323
提供了一个方便的方法将对象转换为字符串,避免了空指针的风险。
Objects.toString("a"); // "a"
Objects.toString(null, "default"); // "default"
MoreObjects类提供了一些更多的对象操作方法。
可以将对象转换为字符串,并且可以设置对象的字段名和值。
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}"
返回第一个非空的对象,避免了空指针的风险。
MoreObjects.firstNonNull(null, "a"); // "a"
MoreObjects.firstNonNull("a", null); // "a"
MoreObjects.firstNonNull(null, null); // null
Guava-对象类提供了一些开发中常用的对象操作方法,可以较好地避免空指针和提高代码的可读性。更多工具类和方法可以参考Guava的官方文档。