- All Superinterfaces:
JsonValue
An immutable JSON number value.
Implementations may use a BigDecimal
object to store the numeric
value internally.
The BigDecimal
object can be constructed from the following types:
int
BigDecimal(int)
,
long
BigDecimal(long)
,
BigInteger
BigDecimal(BigInteger)
,
double
BigDecimal.valueOf(double)
, and
String
BigDecimal(String)
.
Some of the method semantics in this class are defined using the
BigDecimal
semantics.
-
Nested Class Summary
Nested classes/interfaces inherited from interface jakarta.json.JsonValue
JsonValue.ValueType
-
Field Summary
Fields inherited from interface jakarta.json.JsonValue
EMPTY_JSON_ARRAY, EMPTY_JSON_OBJECT, FALSE, NULL, TRUE
-
Method Summary
Modifier and TypeMethodDescriptionReturns this JSON number as aBigDecimal
object.Returns this JSON number as aBigInteger
object.Returns this JSON number as aBigInteger
object.double
Returns this JSON number as adouble
.boolean
Compares the specified object with thisJsonNumber
object for equality.int
hashCode()
Returns the hash code value for thisJsonNumber
object.int
intValue()
Returns this JSON number as anint
.int
Returns this JSON number as anint
.boolean
Returns true if this JSON number is a integral number.long
Returns this JSON number as along
.long
Returns this JSON number as along
.default Number
Returns this JSON number as aNumber
object.toString()
Returns a JSON text representation of the JSON number.Methods inherited from interface jakarta.json.JsonValue
asJsonArray, asJsonObject, getValueType
-
Method Details
-
isIntegral
boolean isIntegral()Returns true if this JSON number is a integral number. This method semantics are defined usingbigDecimalValue().scale()
. If the scale is zero, then it is considered integral type. This integral type information can be used to invoke an appropriate accessor method to obtain a numeric value as in the following example:JsonNumber num = ... if (num.isIntegral()) { num.longValue(); // or other methods to get integral value } else { num.doubleValue(); // or other methods to get decimal number value }
- Returns:
- true if this number is a integral number, otherwise false
-
intValue
int intValue()Returns this JSON number as anint
. Note that this conversion can lose information about the overall magnitude and precision of the number value as well as return a result with the opposite sign.- Returns:
- an
int
representation of the JSON number - See Also:
-
intValueExact
int intValueExact()Returns this JSON number as anint
.- Returns:
- an
int
representation of the JSON number - Throws:
ArithmeticException
- if the number has a nonzero fractional part or if it does not fit in anint
- See Also:
-
longValue
long longValue()Returns this JSON number as along
. Note that this conversion can lose information about the overall magnitude and precision of the number value as well as return a result with the opposite sign.- Returns:
- a
long
representation of the JSON number. - See Also:
-
longValueExact
long longValueExact()Returns this JSON number as along
.- Returns:
- a
long
representation of the JSON number - Throws:
ArithmeticException
- if the number has a non-zero fractional part or if it does not fit in along
- See Also:
-
bigIntegerValue
BigInteger bigIntegerValue()Returns this JSON number as aBigInteger
object. This is a a convenience method forbigDecimalValue().toBigInteger()
. Note that this conversion can lose information about the overall magnitude and precision of the number value as well as return a result with the opposite sign.- Returns:
- a
BigInteger
representation of the JSON number. - See Also:
-
bigIntegerValueExact
BigInteger bigIntegerValueExact()Returns this JSON number as aBigInteger
object. This is a convenience method forbigDecimalValue().toBigIntegerExact()
.- Returns:
- a
BigInteger
representation of the JSON number - Throws:
ArithmeticException
- if the number has a nonzero fractional part- See Also:
-
doubleValue
double doubleValue()Returns this JSON number as adouble
. This is a a convenience method forbigDecimalValue().doubleValue()
. Note that this conversion can lose information about the overall magnitude and precision of the number value as well as return a result with the opposite sign.- Returns:
- a
double
representation of the JSON number - See Also:
-
bigDecimalValue
BigDecimal bigDecimalValue()Returns this JSON number as aBigDecimal
object.- Returns:
- a
BigDecimal
representation of the JSON number
-
numberValue
-
toString
-
equals
Compares the specified object with thisJsonNumber
object for equality. Returnstrue
if and only if the type of the specified object is alsoJsonNumber
and theirbigDecimalValue()
objects are equal -
hashCode
int hashCode()Returns the hash code value for thisJsonNumber
object. The hash code of aJsonNumber
object is defined as the hash code of itsbigDecimalValue()
object.
-