|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.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 | |||||||||