diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2015-06-25 00:13:12 +0200 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2015-06-25 00:13:12 +0200 |
commit | 251fd03cd78ef6996d4252450bda596a5e8b11b9 (patch) | |
tree | 6cd9f4a8510ffabed01cd5eae60c0e1b6f2d2b35 /usage_examples | |
parent | 23dcc9f5a5f3c24ccfb2f98ab556daed0dee3c89 (diff) | |
download | lombok-251fd03cd78ef6996d4252450bda596a5e8b11b9.tar.gz lombok-251fd03cd78ef6996d4252450bda596a5e8b11b9.tar.bz2 lombok-251fd03cd78ef6996d4252450bda596a5e8b11b9.zip |
The hashCode() method now generates a magic prime instead of 0 for the hash of null values; this reduces collisions.
Diffstat (limited to 'usage_examples')
-rw-r--r-- | usage_examples/DataExample_post.jpage | 6 | ||||
-rw-r--r-- | usage_examples/EqualsAndHashCodeExample_post.jpage | 2 | ||||
-rw-r--r-- | usage_examples/ValueExample_post.jpage | 6 |
3 files changed, 7 insertions, 7 deletions
diff --git a/usage_examples/DataExample_post.jpage b/usage_examples/DataExample_post.jpage index e53e999c..bef0a0f1 100644 --- a/usage_examples/DataExample_post.jpage +++ b/usage_examples/DataExample_post.jpage @@ -62,7 +62,7 @@ public class DataExample { final int PRIME = 59; int result = 1; final long temp1 = Double.doubleToLongBits(this.getScore()); - result = (result*PRIME) + (this.getName() == null ? 0 : this.getName().hashCode()); + result = (result*PRIME) + (this.getName() == null ? 43 : this.getName().hashCode()); result = (result*PRIME) + this.getAge(); result = (result*PRIME) + (int)(temp1 ^ (temp1 >>> 32)); result = (result*PRIME) + Arrays.deepHashCode(this.getTags()); @@ -111,8 +111,8 @@ public class DataExample { @Override public int hashCode() { final int PRIME = 59; int result = 1; - result = (result*PRIME) + (this.getName() == null ? 0 : this.getName().hashCode()); - result = (result*PRIME) + (this.getValue() == null ? 0 : this.getValue().hashCode()); + result = (result*PRIME) + (this.getName() == null ? 43 : this.getName().hashCode()); + result = (result*PRIME) + (this.getValue() == null ? 43 : this.getValue().hashCode()); return result; } } diff --git a/usage_examples/EqualsAndHashCodeExample_post.jpage b/usage_examples/EqualsAndHashCodeExample_post.jpage index f58e045b..91e78250 100644 --- a/usage_examples/EqualsAndHashCodeExample_post.jpage +++ b/usage_examples/EqualsAndHashCodeExample_post.jpage @@ -27,7 +27,7 @@ public class EqualsAndHashCodeExample { final int PRIME = 59; int result = 1; final long temp1 = Double.doubleToLongBits(this.score); - result = (result*PRIME) + (this.name == null ? 0 : this.name.hashCode()); + result = (result*PRIME) + (this.name == null ? 43 : this.name.hashCode()); result = (result*PRIME) + (int)(temp1 ^ (temp1 >>> 32)); result = (result*PRIME) + Arrays.deepHashCode(this.tags); return result; diff --git a/usage_examples/ValueExample_post.jpage b/usage_examples/ValueExample_post.jpage index 4ac8654e..8a5d4836 100644 --- a/usage_examples/ValueExample_post.jpage +++ b/usage_examples/ValueExample_post.jpage @@ -49,7 +49,7 @@ public final class ValueExample { final int PRIME = 59; int result = 1; final Object $name = this.getName(); - result = result * PRIME + ($name == null ? 0 : $name.hashCode()); + result = result * PRIME + ($name == null ? 43 : $name.hashCode()); result = result * PRIME + this.getAge(); final long $score = Double.doubleToLongBits(this.getScore()); result = result * PRIME + (int)($score >>> 32 ^ $score); @@ -106,9 +106,9 @@ public final class ValueExample { final int PRIME = 59; int result = 1; final Object $name = this.getName(); - result = result * PRIME + ($name == null ? 0 : $name.hashCode()); + result = result * PRIME + ($name == null ? 43 : $name.hashCode()); final Object $value = this.getValue(); - result = result * PRIME + ($value == null ? 0 : $value.hashCode()); + result = result * PRIME + ($value == null ? 43 : $value.hashCode()); return result; } |