|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.bbn.openmap.util.HashCodeUtil
public final class HashCodeUtil
Collected methods which allow easy implementation of hashCode
.
Algorithm from Effective Java by Joshua Bloch. Implementation found at
http://www.javapractices.com.
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; }
Field Summary | |
---|---|
static int |
SEED
An initial value for a hashCode , to which is added
contributions from fields. |
Constructor Summary | |
---|---|
HashCodeUtil()
|
Method Summary | |
---|---|
static int |
hash(int aSeed,
boolean aBoolean)
hash booleans. |
static int |
hash(int aSeed,
char aChar)
hash chars. |
static int |
hash(int aSeed,
double aDouble)
hash for doubles |
static int |
hash(int aSeed,
float aFloat)
hash floats. |
static int |
hash(int aSeed,
int aInt)
hash ints. |
static int |
hash(int aSeed,
long aLong)
hash longs. |
static int |
hash(int aSeed,
java.lang.Object aObject)
aObject is a possibly-null object field, and possibly an
array. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int SEED
hashCode
, to which is added
contributions from fields. Using a non-zero value decreases collisons of
hashCode
values.
Constructor Detail |
---|
public HashCodeUtil()
Method Detail |
---|
public static int hash(int aSeed, boolean aBoolean)
aSeed
- seeding int to start withaBoolean
- object to hash
public static int hash(int aSeed, char aChar)
aSeed
- seeding int to start withaChar
- object to hash
public static int hash(int aSeed, int aInt)
aSeed
- seeding int to start withaInt
- object to hash
public static int hash(int aSeed, long aLong)
aSeed
- seeding int to start withaLong
- object to hash
public static int hash(int aSeed, float aFloat)
aSeed
- seeding int to start withaFloat
- object to hash
public static int hash(int aSeed, double aDouble)
aSeed
- seeding int to start withaDouble
- to hash
public static int hash(int aSeed, java.lang.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.
aSeed
- seeding int to start withaObject
- object to hash
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |