| Modifier and Type | Method and Description | 
|---|---|
abstract byte[] | 
asBytes()
Returns the value of this hash code as a byte array. 
 | 
abstract int | 
asInt()
Returns the first four bytes of this hashcode's bytes, converted to an  
int value in little-endian order. | 
abstract long | 
asLong()
Returns the first eight bytes of this hashcode's bytes, converted to a  
long value in little-endian order. | 
abstract int | 
bits()
Returns the number of bits in this hash code; a positive multiple of 8. 
 | 
boolean | 
equals(Object object)
Returns  
true if object is a HashCode instance with the identical byte representation to this hash code. | 
static HashCode | 
fromBytes(byte[] bytes)
Creates a  
HashCode from a byte array. | 
static HashCode | 
fromInt(int hash)
Creates a 32-bit  
HashCode representation of the given int value. | 
static HashCode | 
fromLong(long hash)
Creates a 64-bit  
HashCode representation of the given long value. | 
static HashCode | 
fromString(String string)
Creates a  
HashCode from a hexadecimal (base 16) encoded string. | 
int | 
hashCode()
Returns a “Java hash code” for this  
HashCode instance; this is well-defined (so, for example, you can safely put HashCode instances into a HashSet) but is otherwise probably not what you want to use. | 
abstract long | 
padToLong()
If this hashcode has enough bits, returns  
asLong(), otherwise returns a long value with asBytes() as the least-significant bytes and 0x00 as the remaining most-significant bytes. | 
String | 
toString()
Returns a string containing each byte of  
asBytes(), in order, as a two-digit unsigned hexadecimal number in lower case. | 
int | 
writeBytesTo(byte[] dest,
            int offset,
            int maxLength)
Copies bytes from this hash code into  
dest. | 
@CheckReturnValue public abstract int bits()
Returns the number of bits in this hash code; a positive multiple of 8.
@CheckReturnValue public abstract int asInt()
Returns the first four bytes of this hashcode's bytes, converted to an int value in little-endian order.
IllegalStateException - if bits() < 32@CheckReturnValue public abstract long asLong()
Returns the first eight bytes of this hashcode's bytes, converted to a long value in little-endian order.
IllegalStateException - if bits() < 64@CheckReturnValue public abstract long padToLong()
If this hashcode has enough bits, returns asLong(), otherwise returns a long value with asBytes() as the least-significant bytes and 0x00 as the remaining most-significant bytes.
Hashing.padToLong(HashCode))@CheckReturnValue public abstract byte[] asBytes()
Returns the value of this hash code as a byte array. The caller may modify the byte array; changes to it will not be reflected in this HashCode object or any other arrays returned by this method.
public int writeBytesTo(byte[] dest,
                        int offset,
                        int maxLength)
Copies bytes from this hash code into dest.
dest - the byte array into which the hash code will be writtenoffset - the start offset in the datamaxLength - the maximum number of bytes to writedestIndexOutOfBoundsException - if there is not enough room in dest@CheckReturnValue public static HashCode fromInt(int hash)
Creates a 32-bit HashCode representation of the given int value. The underlying bytes are interpreted in little endian order.
@CheckReturnValue public static HashCode fromLong(long hash)
Creates a 64-bit HashCode representation of the given long value. The underlying bytes are interpreted in little endian order.
@CheckReturnValue public static HashCode fromBytes(byte[] bytes)
Creates a HashCode from a byte array. The array is defensively copied to preserve the immutability contract of HashCode. The array cannot be empty.
@CheckReturnValue public static HashCode fromString(String string)
Creates a HashCode from a hexadecimal (base 16) encoded string. The string must be at least 2 characters long, and contain only valid, lower-cased hexadecimal characters.
This method accepts the exact format generated by toString(). If you require more lenient base 16 decoding, please use BaseEncoding.decode(java.lang.CharSequence) (and pass the result to fromBytes(byte[])).
public final boolean equals(@Nullable Object object)
Returns true if object is a HashCode instance with the identical byte representation to this hash code.
Security note:
this method uses a constant-time (not short-circuiting) implementation to protect against timing attacks.public final int hashCode()
Returns a “Java hash code” for this HashCode instance; this is well-defined (so, for example, you can safely put HashCode instances into a HashSet) but is otherwise probably not what you want to use.
public final String toString()
Returns a string containing each byte of asBytes(), in order, as a two-digit unsigned hexadecimal number in lower case.
Note that if the output is considered to be a single hexadecimal number, this hash code’s bytes are the big-endian representation of that number. This may be surprising since everything else in the hashing API uniformly treats multibyte values as little-endian. But this format conveniently matches that of utilities such as the UNIX md5sum command.
To create a HashCode from its string representation, see fromString(java.lang.String).