diff -r d63fed06fed4 -r 0729d9e57ed5 jdk/src/share/classes/java/lang/Double.java --- a/jdk/src/share/classes/java/lang/Double.java Mon Nov 12 11:12:29 2012 +0900 +++ b/jdk/src/share/classes/java/lang/Double.java Tue Nov 13 20:02:48 2012 -0800 @@ -740,7 +740,20 @@ * * @return a {@code hash code} value for this object. */ + @Override public int hashCode() { + return Double.hashCode(value); + } + + /** + * Returns a hash code for a {@code double} value; compatible with + * {@code Double.hashCode()}. + * + * @since 1.8 + * + * @return a hash code value for a {@code double} value. + */ + public static int hashCode(double value) { long bits = doubleToLongBits(value); return (int)(bits ^ (bits >>> 32)); }