Package software.amazon.awssdk.core
Class SdkNumber
java.lang.Object
java.lang.Number
software.amazon.awssdk.core.SdkNumber
- All Implemented Interfaces:
Serializable
An in-memory representation of Number being given to a service or being returned by a service.
This is a SDK representation of a Number. This allows conversion to any desired numeric type by providing constructors
as below
fromBigDecimal(BigDecimal)
to create from a BigDecimal.fromBigInteger(BigInteger)
to create from a BigInteger.fromDouble(double)
to create from a doublefromFloat(float)
to create from a float.fromLong(long)
to create from a long.fromShort(short)
to create from a short.fromInteger(int)
to create from an integer.fromString(String)
to create from a String
If SdkNumber
is expected in a particular number format then its corresponding getter methods can be used.
Example for a SdkNumber
created with BigDecimal
the
fromBigDecimal(BigDecimal)
can be used.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionGets the bigDecimalValue of theSdkNumber
.double
Gets the double value of theSdkNumber
.boolean
float
Gets the float value of theSdkNumber
.static SdkNumber
fromBigDecimal
(BigDecimal bigDecimalValue) CreateSdkNumber
from a BigDecimal value.static SdkNumber
fromBigInteger
(BigInteger bigIntegerValue) CreateSdkNumber
from a BigInteger value.static SdkNumber
fromDouble
(double doubleValue) CreateSdkNumber
from a double Value.static SdkNumber
fromFloat
(float floatValue) CreateSdkNumber
from a float Value.static SdkNumber
fromInteger
(int integerValue) CreateSdkNumber
from a integer value.static SdkNumber
fromLong
(long longValue) CreateSdkNumber
from a long Value.static SdkNumber
fromShort
(short shortValue) CreateSdkNumber
from a long Value.static SdkNumber
fromString
(String stringValue) CreateSdkNumber
from a long Value.int
hashCode()
int
intValue()
Gets the integer value of theSdkNumber
.long
Gets the long value of theSdkNumber
.Gets the String value of theSdkNumber
.toString()
Methods inherited from class java.lang.Number
byteValue, shortValue
-
Method Details
-
fromInteger
CreateSdkNumber
from a integer value.- Parameters:
integerValue
- Integer value.- Returns:
- new
SdkNumber
for the given int value.
-
fromBigInteger
CreateSdkNumber
from a BigInteger value.- Parameters:
bigIntegerValue
- BigInteger value.- Returns:
- new
SdkNumber
for the given BigInteger value.
-
fromBigDecimal
CreateSdkNumber
from a BigDecimal value.- Parameters:
bigDecimalValue
- BigInteger value.- Returns:
- new
SdkNumber
for the given BigDecimal value.
-
fromLong
CreateSdkNumber
from a long Value.- Parameters:
longValue
- long value.- Returns:
- new
SdkNumber
for the given long value.
-
fromDouble
CreateSdkNumber
from a double Value.- Parameters:
doubleValue
- long value.- Returns:
- new
SdkNumber
for the given double value.
-
fromShort
CreateSdkNumber
from a long Value.- Parameters:
shortValue
- long value.- Returns:
- new
SdkNumber
for the given long value.
-
fromFloat
CreateSdkNumber
from a float Value.- Parameters:
floatValue
- float value.- Returns:
- new
SdkNumber
for the given float value.
-
fromString
CreateSdkNumber
from a long Value.- Parameters:
stringValue
- String value.- Returns:
- new
SdkNumber
for the given stringValue value.
-
intValue
public int intValue()Gets the integer value of theSdkNumber
. If we do a intValue() forSdkNumber
constructed from float, double, long, BigDecimal, BigInteger number type then it may result in loss of magnitude and a loss of precision. The result may lose some of the least significant bits of the value. Precision is not lost while getting aSdkNumber
which was constructed as lower precision number type like short, byte, integer. -
longValue
public long longValue()Gets the long value of theSdkNumber
. If we do a longValue() forSdkNumber
constructed from float, double, BigDecimal, BigInteger number type then it may result in loss of magnitude and a loss of precision. Precision is not lost while getting aSdkNumber
which was constructed from lower precision type like short, byte, integer. -
floatValue
public float floatValue()Gets the float value of theSdkNumber
. If we do a floatValue() forSdkNumber
constructed from double, BigDecimal, BigInteger number type then it may result in loss of magnitude and a loss of precision. Precision is not lost while getting aSdkNumber
which was constructed from precision type like short, byte, integer, long.- Specified by:
floatValue
in classNumber
- Returns:
- long value of
SdkNumber
.
-
doubleValue
public double doubleValue()Gets the double value of theSdkNumber
. If we do a doubleValue() forSdkNumber
constructed from BigDecimal, BigInteger number type then it may result in loss of magnitude and a loss of precision. Precision is not lost while getting aSdkNumber
which was constructed from precision type like short, byte, integer, long, float.- Specified by:
doubleValue
in classNumber
- Returns:
- long value of
SdkNumber
.
-
bigDecimalValue
Gets the bigDecimalValue of theSdkNumber
. Precision is not lost in this case. However bigDecimalValue cannot be performed on a {SdkNumber
} constructed from Float/Double Nan/Infinity.- Returns:
- BigDecimal value of
SdkNumber
- Throws:
NumberFormatException
- Exception in thrown if aSdkNumber
was constructed asNan/Infinte number of Double/FLoat type.Since we cannot convert NaN/Infinite numbers to BigDecimal.
-
stringValue
Gets the String value of theSdkNumber
.- Returns:
- the stringValue
-
toString
-
equals
-
hashCode
public int hashCode()
-