com.google.common.primitives
@Beta @GwtCompatible(serializable=true) public class UnsignedLong extends java.lang.Number implements java.lang.Comparable<UnsignedLong>, java.io.Serializable
long values, supporting arithmetic operations.
In some cases, when speed is more important than code readability, it may be faster simply to
treat primitive long values as unsigned, using the methods from UnsignedLongs.
Please do not extend this class; it will be made final in the near future.
| Modifier and Type | Field and Description |
|---|---|
static UnsignedLong |
MAX_VALUE |
static UnsignedLong |
ONE |
static UnsignedLong |
ZERO |
| Modifier | Constructor and Description |
|---|---|
protected |
UnsignedLong(long value) |
| Modifier and Type | Method and Description |
|---|---|
UnsignedLong |
add(UnsignedLong val)
Returns the result of adding this and
val. |
static UnsignedLong |
asUnsigned(long value)
Returns an
UnsignedLong that, when treated as signed, is equal to value. |
java.math.BigInteger |
bigIntegerValue()
Returns the value of this
UnsignedLong as a BigInteger. |
int |
compareTo(UnsignedLong o) |
UnsignedLong |
divide(UnsignedLong val)
Returns the result of dividing this by
val. |
double |
doubleValue()
Returns the value of this
UnsignedLong as a double, analogous to a widening
primitive conversion from long to double, and correctly rounded. |
boolean |
equals(java.lang.Object obj) |
float |
floatValue()
Returns the value of this
UnsignedLong as a float, analogous to a widening
primitive conversion from long to float, and correctly rounded. |
int |
hashCode() |
int |
intValue()
Returns the value of this
UnsignedLong as an int. |
long |
longValue()
Returns the value of this
UnsignedLong as a long. |
UnsignedLong |
multiply(UnsignedLong val)
Returns the result of multiplying this and
val. |
UnsignedLong |
remainder(UnsignedLong val)
Returns the remainder of dividing this by
val. |
UnsignedLong |
subtract(UnsignedLong val)
Returns the result of subtracting this and
val. |
java.lang.String |
toString()
Returns a string representation of the
UnsignedLong value, in base 10. |
java.lang.String |
toString(int radix)
Returns a string representation of the
UnsignedLong value, in base radix. |
static UnsignedLong |
valueOf(java.math.BigInteger value)
Returns a
UnsignedLong representing the same value as the specified BigInteger
. |
static UnsignedLong |
valueOf(java.lang.String string)
Returns an
UnsignedLong holding the value of the specified String, parsed as
an unsigned long value. |
static UnsignedLong |
valueOf(java.lang.String string,
int radix)
Returns an
UnsignedLong holding the value of the specified String, parsed as
an unsigned long value in the specified radix. |
public static final UnsignedLong ZERO
public static final UnsignedLong ONE
public static final UnsignedLong MAX_VALUE
public static UnsignedLong asUnsigned(long value)
UnsignedLong that, when treated as signed, is equal to value. The
inverse operation is longValue().
Put another way, if value is negative, the returned result will be equal to
2^64 + value; otherwise, the returned result will be equal to value.
public static UnsignedLong valueOf(java.math.BigInteger value)
UnsignedLong representing the same value as the specified BigInteger
. This is the inverse operation of bigIntegerValue().java.lang.IllegalArgumentException - if value is negative or value >= 2^64public static UnsignedLong valueOf(java.lang.String string)
UnsignedLong holding the value of the specified String, parsed as
an unsigned long value.java.lang.NumberFormatException - if the string does not contain a parsable unsigned long
valuepublic static UnsignedLong valueOf(java.lang.String string, int radix)
UnsignedLong holding the value of the specified String, parsed as
an unsigned long value in the specified radix.java.lang.NumberFormatException - if the string does not contain a parsable unsigned long
value, or radix is not between Character.MIN_RADIX and
Character.MAX_RADIXpublic UnsignedLong add(UnsignedLong val)
val. If the result would have more than 64 bits,
returns the low 64 bits of the result.public UnsignedLong subtract(UnsignedLong val)
val. If the result would be negative,
returns the low 64 bits of the result.public UnsignedLong multiply(UnsignedLong val)
val. If the result would have more than 64
bits, returns the low 64 bits of the result.public UnsignedLong divide(UnsignedLong val)
val.public UnsignedLong remainder(UnsignedLong val)
val.public int intValue()
UnsignedLong as an int.intValue in class java.lang.Numberpublic long longValue()
UnsignedLong as a long. This is an inverse operation
to asUnsigned(long).
Note that if this UnsignedLong holds a value >= 2^63, the returned value
will be equal to this - 2^64.
longValue in class java.lang.Numberpublic float floatValue()
UnsignedLong as a float, analogous to a widening
primitive conversion from long to float, and correctly rounded.floatValue in class java.lang.Numberpublic double doubleValue()
UnsignedLong as a double, analogous to a widening
primitive conversion from long to double, and correctly rounded.doubleValue in class java.lang.Numberpublic java.math.BigInteger bigIntegerValue()
UnsignedLong as a BigInteger.public int compareTo(UnsignedLong o)
compareTo in interface java.lang.Comparable<UnsignedLong>public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(@Nullable
java.lang.Object obj)
equals in class java.lang.Objectpublic java.lang.String toString()
UnsignedLong value, in base 10.toString in class java.lang.Objectpublic java.lang.String toString(int radix)
UnsignedLong value, in base radix. If
radix < Character.MIN_RADIX or radix > Character.MAX_RADIX, the radix
10 is used.