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},此方法有不少種使用方式,可自行查詢。