Guava.Objects.hashCode vs Java.Objects.hashCode

Mik*_* B. 6 java hashcode guava java-8

在Java 8中有一个java.util.Objects包含hashCode()方法的类.同时谷歌Guava 19包含com.google.common.base.Objects,其中也有hashCode()方法.

我的问题:

  1. 有什么理由我更喜欢Guava的19而hashCode()不是Java的8?
  2. 我可以完全依赖Java 8,hashCode()还是最好留在Guava?

And*_*mas 15

Guava的方法早于Java 7.

同名的Java方法只接受一个参数.但兄弟姐妹java.util.Objects.hash()接受了可变数量的争论,比如番石榴Objects.hashCode().

如果您使用的是Java 7或更高版本,则可以使用java.util.Objects.hash(...).该番石榴文档指出这一点:

Java 7及更高版本的注意事项:此方法应视为已弃用; 请改用Objects.hash(java.lang.Object ...).

如果您使用的是Java 6或更早版本,则可以使用Guava的方法.