Guava中Objects类提供了不少和Object类做用相同、效率更高的方法可供使用:
this
1.equal方法调试
使用Obejct的equals方法进行相等判断,例如:test.equals("test");若是test为null,则会发生NullPointerException,Objects的equal方法能够帮助你避免NullPointerException,它的判断逻辑是这样的:return a == b || (a !=null && a.equals(b));hash
因此,能够很放心的使用,Objects.equal(test,"test"),固然在JDK7中也提供了一样判断逻辑的方法:Objects.equals(test,"test");io
2.hashCode方法test
Objects的hashCode方法能够根据传入的多个参数值生成相应的hash值,Objects.hashCode("abc","OK","Yes");效率
3.firstNonNull方法方法
Object的firstNonNull方法能够根据传入的两个参数来返回一个非Null的参数,Objects.firstNonNull(null,"jack"),Guava如今推荐使用MoreObjects.firstNonNull(T first,T second)替代它。数据
4.toStringHelper查询
这个方法能够提供调试使用,方便输出调试数据:co
Objects.toStringHelper(this)
.add("x",1)
.add("y","foo")
.toString();
输出ClassName{x=1, y=foo},此方法有不少种使用方式,可自行查询。