public final class HashCodeUtil extends Object
hashCode
.
Based on the recommendations of Effective Java, by Joshua Bloch.
Example use case:
public int hashCode() { int result = HashCodeUtil.SEED; // collect the contributions of various fields result = HashCodeUtil.hash(result, fPrimitive); result = HashCodeUtil.hash(result, fObject); result = HashCodeUtil.hash(result, fArray); return result; }
Modifier and Type | Field and Description |
---|---|
static int |
SEED
An initial value for a
hashCode , to which is added
contributions from fields. |
Constructor and Description |
---|
HashCodeUtil() |
Modifier and Type | Method and Description |
---|---|
static int |
hash(int aSeed,
boolean aBoolean)
booleans.
|
static int |
hash(int aSeed,
char aChar)
chars.
|
static int |
hash(int aSeed,
double aDouble)
doubles.
|
static int |
hash(int aSeed,
float aFloat)
floats.
|
static int |
hash(int aSeed,
int aInt)
ints.
|
static int |
hash(int aSeed,
long aLong)
longs.
|
static int |
hash(int aSeed,
Object aObject)
aObject is a possibly-null object field, and possibly an
array. |
public static final int SEED
hashCode
, to which is added
contributions from fields. Using a non-zero value decreases collisions of
hashCode
values.public static int hash(int aSeed, boolean aBoolean)
public static int hash(int aSeed, char aChar)
public static int hash(int aSeed, int aInt)
public static int hash(int aSeed, long aLong)
public static int hash(int aSeed, float aFloat)
public static int hash(int aSeed, double aDouble)
public static int hash(int aSeed, Object aObject)
aObject
is a possibly-null object field, and possibly an
array.
If aObject
is an array, then each element may be a primitive
or a possibly-null object.Copyright © 2015. All rights reserved.