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