2016-03-27 4 views
5

Javaには、java.util.Objectsがあり、これはhashCode()メソッドを含んでいます。同時に、Google Guava19はcom.google.common.base.Objectsを含み、これもhashCode()の方法を有する。Guava.Objects.hashCode対Java.Objects.hashCode

私の質問:

  1. 私はJavaの8の上にグアバの19 hashCode()を好むべきでない理由はありますか?
  2. Javaの8 hashCode()を完全に頼りにすることができますか、それともGuavaを使うのが良いですか?
+1

なぜ、Guavaの実装が新しい組み込みよりも優れていると思いますか?また、「より良い」を定義します。 – Tunaki

+2

Java 7以降でこのクラスがあります –

+0

おそらく、Guavaのハッシュはより良い/他のハッシュ関数に基づいていますか? –

答えて

13

グアバの方法は、Javaの7

同じ名前のJavaメソッドは単一の引数を受け入れ先行し。しかし、兄弟java.util.Objects.hash()は、GuavaのObjects.hashCode()のように、さまざまな数の引数を受け入れます。

Java 7以降を使用している場合は、java.util.Objects.hash(...)を使用できます。 Guava documentationは次の点に注意してください。

注意:このメソッドは廃止予定のものとして扱う必要があります。代わりにObjects.hash(java.lang.Object ...)を使用してください。

Java 6以前を使用している場合は、Guavaの方法を使用できます。

関連する問題