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)
HasherputByte(b ? (byte) 1 : (byte) 0).putBoolean in interface HasherputBoolean in interface PrimitiveSinkpublic final Hasher putDouble(double d)
HasherputLong(Double.doubleToRawLongBits(d)).putDouble in interface HasherputDouble in interface PrimitiveSinkpublic final Hasher putFloat(float f)
HasherputInt(Float.floatToRawIntBits(f)).putFloat in interface HasherputFloat in interface PrimitiveSinkpublic Hasher putUnencodedChars(java.lang.CharSequence charSequence)
Hasherchar 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 HasherputUnencodedChars in interface PrimitiveSinkpublic Hasher putString(java.lang.CharSequence charSequence, java.nio.charset.Charset charset)
HasherputBytes(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 HasherputString in interface PrimitiveSink