From e3bda3bd0aa9213652221fb26b0128059e39b5eb Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Wed, 24 Sep 2014 09:43:10 -0700 Subject: [PATCH] 8058643: (str) Re-examine hashCode implementation Reviewed-by: martin, alanb, sherman, redestad --- jdk/src/java.base/share/classes/java/lang/String.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/jdk/src/java.base/share/classes/java/lang/String.java b/jdk/src/java.base/share/classes/java/lang/String.java index 00f57044624..27c0ead5b10 100644 --- a/jdk/src/java.base/share/classes/java/lang/String.java +++ b/jdk/src/java.base/share/classes/java/lang/String.java @@ -1451,11 +1451,9 @@ public final class String */ public int hashCode() { int h = hash; - if (h == 0 && value.length > 0) { - char val[] = value; - - for (int i = 0; i < value.length; i++) { - h = 31 * h + val[i]; + if (h == 0) { + for (char v : value) { + h = 31 * h + v; } hash = h; }