abstract class AbstractHasher extends java.lang.Object implements Hasher
putBoolean(boolean)
, putDouble(double)
,
putFloat(float)
, putUnencodedChars(CharSequence)
, and
putString(CharSequence, Charset)
as prescribed by Hasher
.Constructor and Description |
---|
AbstractHasher() |
Modifier and Type | Method and Description |
---|---|
Hasher |
putBoolean(boolean b)
Equivalent to
putByte(b ? (byte) 1 : (byte) 0) . |
Hasher |
putDouble(double d)
Equivalent to
putLong(Double.doubleToRawLongBits(d)) . |
Hasher |
putFloat(float f)
Equivalent to
putInt(Float.floatToRawIntBits(f)) . |
Hasher |
putString(java.lang.CharSequence charSequence,
java.nio.charset.Charset charset)
Equivalent to
putBytes(charSequence.toString().getBytes(charset)) . |
Hasher |
putUnencodedChars(java.lang.CharSequence charSequence)
Equivalent to processing each
char value in the CharSequence , in order. |
public final Hasher putBoolean(boolean b)
Hasher
putByte(b ? (byte) 1 : (byte) 0)
.putBoolean
in interface Hasher
putBoolean
in interface PrimitiveSink
public final Hasher putDouble(double d)
Hasher
putLong(Double.doubleToRawLongBits(d))
.putDouble
in interface Hasher
putDouble
in interface PrimitiveSink
public final Hasher putFloat(float f)
Hasher
putInt(Float.floatToRawIntBits(f))
.putFloat
in interface Hasher
putFloat
in interface PrimitiveSink
public Hasher putUnencodedChars(java.lang.CharSequence charSequence)
Hasher
char
value in the CharSequence
, in order. In
other words, no character encoding is performed; the low byte and high byte of each char
are hashed directly (in that order). The input must not be updated while this method is
in progress.
Warning: This method will produce different output than most other languages do when
running the same hash function on the equivalent input. For cross-language compatibility, use
Hasher.putString(java.lang.CharSequence, java.nio.charset.Charset)
, usually with a charset of UTF-8. For other use cases, use putUnencodedChars
.
putUnencodedChars
in interface Hasher
putUnencodedChars
in interface PrimitiveSink
public Hasher putString(java.lang.CharSequence charSequence, java.nio.charset.Charset charset)
Hasher
putBytes(charSequence.toString().getBytes(charset))
.
Warning: This method, which reencodes the input before hashing it, is useful only for
cross-language compatibility. For other use cases, prefer Hasher.putUnencodedChars(java.lang.CharSequence)
, which is
faster, produces the same output across Java releases, and hashes every char
in the
input, even if some are invalid.
putString
in interface Hasher
putString
in interface PrimitiveSink