@GwtCompatible(serializable=true) public final class UnsignedLong extends Number implements Comparable<UnsignedLong>, 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
.
See the Guava User Guide article on unsigned primitive utilities.
Modifier and Type | Field and Description |
---|---|
static UnsignedLong |
MAX_VALUE |
static UnsignedLong |
ONE |
static UnsignedLong |
ZERO |
Modifier and Type | Method and Description |
---|---|
BigInteger |
bigIntegerValue()
Returns the value of this
UnsignedLong as a BigInteger . |
int |
compareTo(UnsignedLong o)
Compares this object with the specified object for order.
|
UnsignedLong |
dividedBy(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(Object obj)
Indicates whether some other object is "equal to" this one.
|
float |
floatValue()
Returns the value of this
UnsignedLong as a float , analogous to a widening
primitive conversion from long to float , and correctly rounded. |
static UnsignedLong |
fromLongBits(long bits)
Returns an
UnsignedLong corresponding to a given bit representation. |
int |
hashCode()
Returns a hash code value for the object.
|
int |
intValue()
Returns the value of this
UnsignedLong as an int . |
long |
longValue()
Returns the value of this
UnsignedLong as a long . |
UnsignedLong |
minus(UnsignedLong val)
Returns the result of subtracting this and
val . |
UnsignedLong |
mod(UnsignedLong val)
Returns this modulo
val . |
UnsignedLong |
plus(UnsignedLong val)
Returns the result of adding this and
val . |
UnsignedLong |
times(UnsignedLong val)
Returns the result of multiplying this and
val . |
String |
toString()
Returns a string representation of the
UnsignedLong value, in base 10. |
String |
toString(int radix)
Returns a string representation of the
UnsignedLong value, in base radix . |
static UnsignedLong |
valueOf(BigInteger value)
Returns a
UnsignedLong representing the same value as the specified BigInteger . |
static UnsignedLong |
valueOf(long value)
Returns an
UnsignedLong representing the same value as the specified long . |
static UnsignedLong |
valueOf(String string)
Returns an
UnsignedLong holding the value of the specified String , parsed as an
unsigned long value. |
static UnsignedLong |
valueOf(String string,
int radix)
Returns an
UnsignedLong holding the value of the specified String , parsed as an
unsigned long value in the specified radix. |
byteValue, shortValue
public static final UnsignedLong ZERO
public static final UnsignedLong ONE
public static final UnsignedLong MAX_VALUE
public static UnsignedLong fromLongBits(long bits)
UnsignedLong
corresponding to a given bit representation. The argument is
interpreted as an unsigned 64-bit value. Specifically, the sign bit of bits
is
interpreted as a normal bit, and all other bits are treated as usual.
If the argument is nonnegative, the returned result will be equal to bits
,
otherwise, the result will be equal to 2^64 + bits
.
To represent decimal constants less than 2^63
, consider valueOf(long)
instead.
@CanIgnoreReturnValue public static UnsignedLong valueOf(long value)
UnsignedLong
representing the same value as the specified long
.IllegalArgumentException
- if value
is negative@CanIgnoreReturnValue public static UnsignedLong valueOf(BigInteger value)
UnsignedLong
representing the same value as the specified BigInteger
.
This is the inverse operation of bigIntegerValue()
.IllegalArgumentException
- if value
is negative or value >= 2^64
@CanIgnoreReturnValue public static UnsignedLong valueOf(String string)
UnsignedLong
holding the value of the specified String
, parsed as an
unsigned long
value.NumberFormatException
- if the string does not contain a parsable unsigned long
value@CanIgnoreReturnValue public static UnsignedLong valueOf(String string, int radix)
UnsignedLong
holding the value of the specified String
, parsed as an
unsigned long
value in the specified radix.NumberFormatException
- if the string does not contain a parsable unsigned long
value, or radix
is not between Character.MIN_RADIX
and Character.MAX_RADIX
public UnsignedLong plus(UnsignedLong val)
val
. If the result would have more than 64 bits,
returns the low 64 bits of the result.public UnsignedLong minus(UnsignedLong val)
val
. If the result would have more than 64
bits, returns the low 64 bits of the result.public UnsignedLong times(UnsignedLong val)
val
. If the result would have more than 64
bits, returns the low 64 bits of the result.public UnsignedLong dividedBy(UnsignedLong val)
val
.public UnsignedLong mod(UnsignedLong val)
val
.public int intValue()
UnsignedLong
as an int
.public long longValue()
UnsignedLong
as a long
. This is an inverse operation
to fromLongBits(long)
.
Note that if this UnsignedLong
holds a value >= 2^63
, the returned value
will be equal to this - 2^64
.
public float floatValue()
UnsignedLong
as a float
, analogous to a widening
primitive conversion from long
to float
, and correctly rounded.floatValue
in class Number
float
.public double doubleValue()
UnsignedLong
as a double
, analogous to a widening
primitive conversion from long
to double
, and correctly rounded.doubleValue
in class Number
double
.public BigInteger bigIntegerValue()
UnsignedLong
as a BigInteger
.public int compareTo(UnsignedLong o)
java.lang.Comparable
The implementor must ensure sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception iff y.compareTo(x) throws an exception.)
The implementor must also ensure that the relation is transitive: (x.compareTo(y)>0 && y.compareTo(z)>0) implies x.compareTo(z)>0.
Finally, the implementor must ensure that x.compareTo(y)==0 implies that sgn(x.compareTo(z)) == sgn(y.compareTo(z)), for all z.
It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class that implements the Comparable interface and violates this condition should clearly indicate this fact. The recommended language is "Note: this class has a natural ordering that is inconsistent with equals."
In the foregoing description, the notation sgn(expression) designates the mathematical signum function, which is defined to return one of -1, 0, or 1 according to whether the value of expression is negative, zero or positive.
compareTo
in interface Comparable<UnsignedLong>
o
- the object to be compared.public int hashCode()
java.lang.Object
HashMap
.
The general contract of hashCode
is:
hashCode
method
must consistently return the same integer, provided no information
used in equals
comparisons on the object is modified.
This integer need not remain consistent from one execution of an
application to another execution of the same application.
equals(Object)
method, then calling the hashCode
method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode
method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hash tables.
As much as is reasonably practical, the hashCode method defined by
class Object
does return distinct integers for distinct
objects. (This is typically implemented by converting the internal
address of the object into an integer, but this implementation
technique is not required by the
Java™ programming language.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(@NullableDecl Object obj)
java.lang.Object
The equals
method implements an equivalence relation
on non-null object references:
x
, x.equals(x)
should return
true
.
x
and y
, x.equals(y)
should return true
if and only if
y.equals(x)
returns true
.
x
, y
, and z
, if
x.equals(y)
returns true
and
y.equals(z)
returns true
, then
x.equals(z)
should return true
.
x
and y
, multiple invocations of
x.equals(y)
consistently return true
or consistently return false
, provided no
information used in equals
comparisons on the
objects is modified.
x
,
x.equals(null)
should return false
.
The equals
method for class Object
implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x
and
y
, this method returns true
if and only
if x
and y
refer to the same object
(x == y
has the value true
).
Note that it is generally necessary to override the hashCode
method whenever this method is overridden, so as to maintain the
general contract for the hashCode
method, which states
that equal objects must have equal hash codes.
equals
in class Object
obj
- the reference object with which to compare.true
if this object is the same as the obj
argument; false
otherwise.Object.hashCode()
,
HashMap
public String toString()
UnsignedLong
value, in base 10.Copyright © 2010–2020. All rights reserved.