Package software.amazon.awssdk.core
Class SdkNumber
- java.lang.Object
-
- java.lang.Number
-
- software.amazon.awssdk.core.SdkNumber
-
- All Implemented Interfaces:
Serializable
@Immutable public final class SdkNumber extends Number implements 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 belowfromBigDecimal(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 withBigDecimal
thefromBigDecimal(BigDecimal)
can be used.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BigDecimal
bigDecimalValue()
Gets the bigDecimalValue of theSdkNumber
.double
doubleValue()
Gets the double value of theSdkNumber
.boolean
equals(Object o)
float
floatValue()
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
longValue()
Gets the long value of theSdkNumber
.String
stringValue()
Gets the String value of theSdkNumber
.String
toString()
-
Methods inherited from class java.lang.Number
byteValue, shortValue
-
-
-
-
Method Detail
-
fromInteger
public static SdkNumber fromInteger(int integerValue)
CreateSdkNumber
from a integer value.- Parameters:
integerValue
- Integer value.- Returns:
- new
SdkNumber
for the given int value.
-
fromBigInteger
public static SdkNumber fromBigInteger(BigInteger bigIntegerValue)
CreateSdkNumber
from a BigInteger value.- Parameters:
bigIntegerValue
- BigInteger value.- Returns:
- new
SdkNumber
for the given BigInteger value.
-
fromBigDecimal
public static SdkNumber fromBigDecimal(BigDecimal bigDecimalValue)
CreateSdkNumber
from a BigDecimal value.- Parameters:
bigDecimalValue
- BigInteger value.- Returns:
- new
SdkNumber
for the given BigDecimal value.
-
fromLong
public static SdkNumber fromLong(long longValue)
CreateSdkNumber
from a long Value.- Parameters:
longValue
- long value.- Returns:
- new
SdkNumber
for the given long value.
-
fromDouble
public static SdkNumber fromDouble(double doubleValue)
CreateSdkNumber
from a double Value.- Parameters:
doubleValue
- long value.- Returns:
- new
SdkNumber
for the given double value.
-
fromShort
public static SdkNumber fromShort(short shortValue)
CreateSdkNumber
from a long Value.- Parameters:
shortValue
- long value.- Returns:
- new
SdkNumber
for the given long value.
-
fromFloat
public static SdkNumber fromFloat(float floatValue)
CreateSdkNumber
from a float Value.- Parameters:
floatValue
- float value.- Returns:
- new
SdkNumber
for the given float value.
-
fromString
public static SdkNumber fromString(String stringValue)
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
public BigDecimal 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
public String stringValue()
Gets the String value of theSdkNumber
.- Returns:
- the stringValue
-
-