ucar.unidata.util
Class HashCodeUtils

java.lang.Object
  extended by ucar.unidata.util.HashCodeUtils

public class HashCodeUtils
extends Object

Taken from http://www.javapractices.com/Topic28.cjp.

Collected methods which allow easy implementation of hashCode.

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
HashCodeUtils()
           
 
Method Summary
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SEED

public static final int SEED
An initial value for a hashCode, to which is added contributions from fields. Using a non-zero value decreases collisons of hashCode values.

See Also:
Constant Field Values
Constructor Detail

HashCodeUtils

public HashCodeUtils()
Method Detail

hash

public static int hash(int aSeed,
                       boolean aBoolean)
booleans.

Parameters:
aSeed - _more_
aBoolean - _more_
Returns:
_more_

hash

public static int hash(int aSeed,
                       char aChar)
chars.

Parameters:
aSeed - _more_
aChar - _more_
Returns:
_more_

hash

public static int hash(int aSeed,
                       int aInt)
ints.

Parameters:
aSeed - _more_
aInt - _more_
Returns:
_more_

hash

public static int hash(int aSeed,
                       long aLong)
longs.

Parameters:
aSeed - _more_
aLong - _more_
Returns:
_more_

hash

public static int hash(int aSeed,
                       float aFloat)
floats.

Parameters:
aSeed - _more_
aFloat - _more_
Returns:
_more_

hash

public static int hash(int aSeed,
                       double aDouble)
doubles.

Parameters:
aSeed - _more_
aDouble - _more_
Returns:
_more_