@GwtCompatible(emulated=true) public final class UnsignedInteger extends Number implements Comparable<UnsignedInteger>
int
values, supporting arithmetic operations.
In some cases, when speed is more important than code readability, it may be faster simply to
treat primitive int
values as unsigned, using the methods from UnsignedInts
.
See the Guava User Guide article on unsigned primitive utilities.
Modifier and Type | Field and Description |
---|---|
static UnsignedInteger |
MAX_VALUE |
static UnsignedInteger |
ONE |
static UnsignedInteger |
ZERO |
Modifier and Type | Method and Description |
---|---|
BigInteger |
bigIntegerValue()
Returns the value of this
UnsignedInteger as a BigInteger . |
int |
compareTo(UnsignedInteger other)
Compares this unsigned integer to another unsigned integer.
|
UnsignedInteger |
dividedBy(UnsignedInteger val)
Returns the result of dividing this by
val . |
double |
doubleValue()
Returns the value of this
UnsignedInteger as a float , analogous to a widening
primitive conversion from int to double , and correctly rounded. |
boolean |
equals(@Nullable Object obj)
Indicates whether some other object is "equal to" this one.
|
float |
floatValue()
Returns the value of this
UnsignedInteger as a float , analogous to a widening
primitive conversion from int to float , and correctly rounded. |
static UnsignedInteger |
fromIntBits(int bits)
Returns an
UnsignedInteger corresponding to a given bit representation. |
int |
hashCode()
Returns a hash code value for the object.
|
int |
intValue()
Returns the value of this
UnsignedInteger as an int . |
long |
longValue()
Returns the value of this
UnsignedInteger as a long . |
UnsignedInteger |
minus(UnsignedInteger val)
Returns the result of subtracting this and
val . |
UnsignedInteger |
mod(UnsignedInteger val)
Returns this mod
val . |
UnsignedInteger |
plus(UnsignedInteger val)
Returns the result of adding this and
val . |
UnsignedInteger |
times(UnsignedInteger val)
Returns the result of multiplying this and
val . |
String |
toString()
Returns a string representation of the
UnsignedInteger value, in base 10. |
String |
toString(int radix)
Returns a string representation of the
UnsignedInteger value, in base radix . |
static UnsignedInteger |
valueOf(BigInteger value)
Returns a
UnsignedInteger representing the same value as the specified BigInteger . |
static UnsignedInteger |
valueOf(long value)
Returns an
UnsignedInteger that is equal to value , if possible. |
static UnsignedInteger |
valueOf(String string)
Returns an
UnsignedInteger holding the value of the specified String , parsed as
an unsigned int value. |
static UnsignedInteger |
valueOf(String string,
int radix)
Returns an
UnsignedInteger holding the value of the specified String , parsed as
an unsigned int value in the specified radix. |
byteValue, shortValue
public static final UnsignedInteger ZERO
public static final UnsignedInteger ONE
public static final UnsignedInteger MAX_VALUE
public static UnsignedInteger fromIntBits(int bits)
UnsignedInteger
corresponding to a given bit representation. The argument is
interpreted as an unsigned 32-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^32 + bits
.
To represent unsigned decimal constants, consider valueOf(long)
instead.
public static UnsignedInteger valueOf(long value)
UnsignedInteger
that is equal to value
, if possible. The inverse
operation of longValue()
.public static UnsignedInteger valueOf(BigInteger value)
UnsignedInteger
representing the same value as the specified BigInteger
. This is the inverse operation of bigIntegerValue()
.IllegalArgumentException
- if value
is negative or value >= 2^32
public static UnsignedInteger valueOf(String string)
UnsignedInteger
holding the value of the specified String
, parsed as
an unsigned int
value.NumberFormatException
- if the string does not contain a parsable unsigned int
valuepublic static UnsignedInteger valueOf(String string, int radix)
UnsignedInteger
holding the value of the specified String
, parsed as
an unsigned int
value in the specified radix.NumberFormatException
- if the string does not contain a parsable unsigned int
valuepublic UnsignedInteger plus(UnsignedInteger val)
val
. If the result would have more than 32 bits,
returns the low 32 bits of the result.public UnsignedInteger minus(UnsignedInteger val)
val
. If the result would be negative,
returns the low 32 bits of the result.@GwtIncompatible public UnsignedInteger times(UnsignedInteger val)
val
. If the result would have more than 32
bits, returns the low 32 bits of the result.public UnsignedInteger dividedBy(UnsignedInteger val)
val
.ArithmeticException
- if val
is zeropublic UnsignedInteger mod(UnsignedInteger val)
val
.ArithmeticException
- if val
is zeropublic int intValue()
UnsignedInteger
as an int
. This is an inverse
operation to fromIntBits(int)
.
Note that if this UnsignedInteger
holds a value >= 2^31
, the returned value
will be equal to this - 2^32
.
public long longValue()
UnsignedInteger
as a long
.public float floatValue()
UnsignedInteger
as a float
, analogous to a widening
primitive conversion from int
to float
, and correctly rounded.floatValue
in class Number
float
.public double doubleValue()
UnsignedInteger
as a float
, analogous to a widening
primitive conversion from int
to double
, and correctly rounded.doubleValue
in class Number
double
.public BigInteger bigIntegerValue()
UnsignedInteger
as a BigInteger
.public int compareTo(UnsignedInteger other)
0
if they are
equal, a negative number if this < other
, and a positive number if this >
other
.compareTo
in interface Comparable<UnsignedInteger>
other
- 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(@Nullable 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()
UnsignedInteger
value, in base 10.Copyright © 2010–2020. All rights reserved.