|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.util.NumberUtils
public abstract class NumberUtils
Miscellaneous utility methods for number conversion and parsing. Mainly for internal use within the framework; consider Jakarta's Commons Lang for a more comprehensive suite of string utilities.
Constructor Summary | |
---|---|
NumberUtils()
|
Method Summary | ||
---|---|---|
static
|
convertNumberToTargetClass(java.lang.Number number,
java.lang.Class<T> targetClass)
Convert the given number into an instance of the given target class. |
|
private static java.math.BigInteger |
decodeBigInteger(java.lang.String value)
Decode a BigInteger from a String value. |
|
private static boolean |
isHexNumber(java.lang.String value)
Determine whether the given value String indicates a hex number, i.e. |
|
static
|
parseNumber(java.lang.String text,
java.lang.Class<T> targetClass)
Parse the given text into a number instance of the given target class, using the corresponding decode / valueOf methods. |
|
static
|
parseNumber(java.lang.String text,
java.lang.Class<T> targetClass,
java.text.NumberFormat numberFormat)
Parse the given text into a number instance of the given target class, using the given NumberFormat. |
|
private static void |
raiseOverflowException(java.lang.Number number,
java.lang.Class targetClass)
Raise an overflow exception for the given number and target class. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public NumberUtils()
Method Detail |
---|
public static <T extends java.lang.Number> T convertNumberToTargetClass(java.lang.Number number, java.lang.Class<T> targetClass) throws java.lang.IllegalArgumentException
number
- the number to converttargetClass
- the target class to convert to
java.lang.IllegalArgumentException
- if the target class is not supported
(i.e. not a standard Number subclass as included in the JDK)Byte
,
Short
,
Integer
,
Long
,
BigInteger
,
Float
,
Double
,
BigDecimal
private static void raiseOverflowException(java.lang.Number number, java.lang.Class targetClass)
number
- the number we tried to converttargetClass
- the target class we tried to convert topublic static <T extends java.lang.Number> T parseNumber(java.lang.String text, java.lang.Class<T> targetClass)
decode
/ valueOf
methods.
Trims the input String
before attempting to parse the number.
Supports numbers in hex format (with leading "0x", "0X" or "#") as well.
text
- the text to converttargetClass
- the target class to parse into
java.lang.IllegalArgumentException
- if the target class is not supported
(i.e. not a standard Number subclass as included in the JDK)Byte.decode(java.lang.String)
,
Short.decode(java.lang.String)
,
Integer.decode(java.lang.String)
,
Long.decode(java.lang.String)
,
decodeBigInteger(String)
,
Float.valueOf(java.lang.String)
,
Double.valueOf(java.lang.String)
,
BigDecimal.BigDecimal(String)
public static <T extends java.lang.Number> T parseNumber(java.lang.String text, java.lang.Class<T> targetClass, java.text.NumberFormat numberFormat)
String
before attempting to parse the number.
text
- the text to converttargetClass
- the target class to parse intonumberFormat
- the NumberFormat to use for parsing (if null
,
this method falls back to parseNumber(String, Class)
)
java.lang.IllegalArgumentException
- if the target class is not supported
(i.e. not a standard Number subclass as included in the JDK)NumberFormat.parse(java.lang.String, java.text.ParsePosition)
,
convertNumberToTargetClass(java.lang.Number, java.lang.Class)
,
parseNumber(String, Class)
private static boolean isHexNumber(java.lang.String value)
Integer.decode
instead of Integer.valueOf
(etc).
private static java.math.BigInteger decodeBigInteger(java.lang.String value)
BigInteger
from a String
value.
Supports decimal, hex and octal notation.
BigInteger.BigInteger(String, int)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |