public abstract class org.springframework.util.NumberUtils
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.util.NumberUtils
super_class: java.lang.Object
{
private static final java.math.BigInteger LONG_MIN;
descriptor: Ljava/math/BigInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.math.BigInteger LONG_MAX;
descriptor: Ljava/math/BigInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final java.util.Set<java.lang.Class<?>> STANDARD_NUMBER_TYPES;
descriptor: Ljava/util/Set;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: ldc -9223372036854775808
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
putstatic org.springframework.util.NumberUtils.LONG_MIN:Ljava/math/BigInteger;
1: ldc 9223372036854775807
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
putstatic org.springframework.util.NumberUtils.LONG_MAX:Ljava/math/BigInteger;
2: new java.util.HashSet
dup
bipush 8
invokespecial java.util.HashSet.<init>:(I)V
astore 0
start local 0 3: aload 0
ldc Ljava/lang/Byte;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: aload 0
ldc Ljava/lang/Short;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: aload 0
ldc Ljava/lang/Integer;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: aload 0
ldc Ljava/lang/Long;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: aload 0
ldc Ljava/math/BigInteger;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: aload 0
ldc Ljava/lang/Float;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: aload 0
ldc Ljava/lang/Double;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: aload 0
ldc Ljava/math/BigDecimal;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: aload 0
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
putstatic org.springframework.util.NumberUtils.STANDARD_NUMBER_TYPES:Ljava/util/Set;
end local 0 12: return
LocalVariableTable:
Start End Slot Name Signature
3 12 0 numberTypes Ljava/util/Set<Ljava/lang/Class<*>;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/util/NumberUtils;
public static <T extends java.lang.Number> T convertNumberToTargetClass(java.lang.Number, java.lang.Class<T>);
descriptor: (Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ldc "Number must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "Target class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 1
aload 0
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
ldc Ljava/lang/Byte;
aload 1
if_acmpne 9
5: aload 0
aload 1
invokestatic org.springframework.util.NumberUtils.checkedLongValue:(Ljava/lang/Number;Ljava/lang/Class;)J
lstore 2
start local 2 6: lload 2
ldc -128
lcmp
iflt 7
lload 2
ldc 127
lcmp
ifle 8
7: StackMap locals: long
StackMap stack:
aload 0
aload 1
invokestatic org.springframework.util.NumberUtils.raiseOverflowException:(Ljava/lang/Number;Ljava/lang/Class;)V
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Number.byteValue:()B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
areturn
end local 2 9: StackMap locals:
StackMap stack:
ldc Ljava/lang/Short;
aload 1
if_acmpne 14
10: aload 0
aload 1
invokestatic org.springframework.util.NumberUtils.checkedLongValue:(Ljava/lang/Number;Ljava/lang/Class;)J
lstore 2
start local 2 11: lload 2
ldc -32768
lcmp
iflt 12
lload 2
ldc 32767
lcmp
ifle 13
12: StackMap locals: long
StackMap stack:
aload 0
aload 1
invokestatic org.springframework.util.NumberUtils.raiseOverflowException:(Ljava/lang/Number;Ljava/lang/Class;)V
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Number.shortValue:()S
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
areturn
end local 2 14: StackMap locals:
StackMap stack:
ldc Ljava/lang/Integer;
aload 1
if_acmpne 19
15: aload 0
aload 1
invokestatic org.springframework.util.NumberUtils.checkedLongValue:(Ljava/lang/Number;Ljava/lang/Class;)J
lstore 2
start local 2 16: lload 2
ldc -2147483648
lcmp
iflt 17
lload 2
ldc 2147483647
lcmp
ifle 18
17: StackMap locals: long
StackMap stack:
aload 0
aload 1
invokestatic org.springframework.util.NumberUtils.raiseOverflowException:(Ljava/lang/Number;Ljava/lang/Class;)V
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Number.intValue:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 2 19: StackMap locals:
StackMap stack:
ldc Ljava/lang/Long;
aload 1
if_acmpne 22
20: aload 0
aload 1
invokestatic org.springframework.util.NumberUtils.checkedLongValue:(Ljava/lang/Number;Ljava/lang/Class;)J
lstore 2
start local 2 21: lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 2 22: StackMap locals:
StackMap stack:
ldc Ljava/math/BigInteger;
aload 1
if_acmpne 26
23: aload 0
instanceof java.math.BigDecimal
ifeq 25
24: aload 0
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
areturn
25: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Number.longValue:()J
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
areturn
26: StackMap locals:
StackMap stack:
ldc Ljava/lang/Float;
aload 1
if_acmpne 28
27: aload 0
invokevirtual java.lang.Number.floatValue:()F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
areturn
28: StackMap locals:
StackMap stack:
ldc Ljava/lang/Double;
aload 1
if_acmpne 30
29: aload 0
invokevirtual java.lang.Number.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
30: StackMap locals:
StackMap stack:
ldc Ljava/math/BigDecimal;
aload 1
if_acmpne 32
31: new java.math.BigDecimal
dup
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
areturn
32: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Could not convert number ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] of type ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] to unsupported target class ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 number Ljava/lang/Number;
0 35 1 targetClass Ljava/lang/Class<TT;>;
6 9 2 value J
11 14 2 value J
16 19 2 value J
21 22 2 value J
Exceptions:
throws java.lang.IllegalArgumentException
Signature: <T:Ljava/lang/Number;>(Ljava/lang/Number;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
number
targetClass
private static long checkedLongValue(java.lang.Number, java.lang.Class<? extends java.lang.Number>);
descriptor: (Ljava/lang/Number;Ljava/lang/Class;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
instanceof java.math.BigInteger
ifeq 4
2: aload 0
checkcast java.math.BigInteger
astore 2
3: goto 6
4: StackMap locals: java.math.BigInteger
StackMap stack:
aload 0
instanceof java.math.BigDecimal
ifeq 6
5: aload 0
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
astore 2
6: StackMap locals:
StackMap stack:
aload 2
ifnull 8
aload 2
getstatic org.springframework.util.NumberUtils.LONG_MIN:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iflt 7
aload 2
getstatic org.springframework.util.NumberUtils.LONG_MAX:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifle 8
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.springframework.util.NumberUtils.raiseOverflowException:(Ljava/lang/Number;Ljava/lang/Class;)V
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Number.longValue:()J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 number Ljava/lang/Number;
0 9 1 targetClass Ljava/lang/Class<+Ljava/lang/Number;>;
1 9 2 bigInt Ljava/math/BigInteger;
Signature: (Ljava/lang/Number;Ljava/lang/Class<+Ljava/lang/Number;>;)J
MethodParameters:
Name Flags
number
targetClass
private static void raiseOverflowException(java.lang.Number, java.lang.Class<?>);
descriptor: (Ljava/lang/Number;Ljava/lang/Class;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Could not convert number ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] of type ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] to target class ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]: overflow"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 number Ljava/lang/Number;
0 3 1 targetClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Number;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
number
targetClass
public static <T extends java.lang.Number> T parseNumber(java.lang.String, java.lang.Class<T>);
descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Number;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "Text must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
ldc "Target class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
invokestatic org.springframework.util.StringUtils.trimAllWhitespace:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 3: ldc Ljava/lang/Byte;
aload 1
if_acmpne 7
4: aload 2
invokestatic org.springframework.util.NumberUtils.isHexNumber:(Ljava/lang/String;)Z
ifeq 5
aload 2
invokestatic java.lang.Byte.decode:(Ljava/lang/String;)Ljava/lang/Byte;
goto 6
StackMap locals: java.lang.String
StackMap stack:
5: aload 2
invokestatic java.lang.Byte.valueOf:(Ljava/lang/String;)Ljava/lang/Byte;
StackMap locals:
StackMap stack: java.lang.Byte
6: areturn
7: StackMap locals:
StackMap stack:
ldc Ljava/lang/Short;
aload 1
if_acmpne 11
8: aload 2
invokestatic org.springframework.util.NumberUtils.isHexNumber:(Ljava/lang/String;)Z
ifeq 9
aload 2
invokestatic java.lang.Short.decode:(Ljava/lang/String;)Ljava/lang/Short;
goto 10
StackMap locals:
StackMap stack:
9: aload 2
invokestatic java.lang.Short.valueOf:(Ljava/lang/String;)Ljava/lang/Short;
StackMap locals:
StackMap stack: java.lang.Short
10: areturn
11: StackMap locals:
StackMap stack:
ldc Ljava/lang/Integer;
aload 1
if_acmpne 15
12: aload 2
invokestatic org.springframework.util.NumberUtils.isHexNumber:(Ljava/lang/String;)Z
ifeq 13
aload 2
invokestatic java.lang.Integer.decode:(Ljava/lang/String;)Ljava/lang/Integer;
goto 14
StackMap locals:
StackMap stack:
13: aload 2
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
StackMap locals:
StackMap stack: java.lang.Integer
14: areturn
15: StackMap locals:
StackMap stack:
ldc Ljava/lang/Long;
aload 1
if_acmpne 19
16: aload 2
invokestatic org.springframework.util.NumberUtils.isHexNumber:(Ljava/lang/String;)Z
ifeq 17
aload 2
invokestatic java.lang.Long.decode:(Ljava/lang/String;)Ljava/lang/Long;
goto 18
StackMap locals:
StackMap stack:
17: aload 2
invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
StackMap locals:
StackMap stack: java.lang.Long
18: areturn
19: StackMap locals:
StackMap stack:
ldc Ljava/math/BigInteger;
aload 1
if_acmpne 23
20: aload 2
invokestatic org.springframework.util.NumberUtils.isHexNumber:(Ljava/lang/String;)Z
ifeq 21
aload 2
invokestatic org.springframework.util.NumberUtils.decodeBigInteger:(Ljava/lang/String;)Ljava/math/BigInteger;
goto 22
StackMap locals:
StackMap stack:
21: new java.math.BigInteger
dup
aload 2
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
StackMap locals:
StackMap stack: java.math.BigInteger
22: areturn
23: StackMap locals:
StackMap stack:
ldc Ljava/lang/Float;
aload 1
if_acmpne 25
24: aload 2
invokestatic java.lang.Float.valueOf:(Ljava/lang/String;)Ljava/lang/Float;
areturn
25: StackMap locals:
StackMap stack:
ldc Ljava/lang/Double;
aload 1
if_acmpne 27
26: aload 2
invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
areturn
27: StackMap locals:
StackMap stack:
ldc Ljava/math/BigDecimal;
aload 1
if_acmpeq 28
ldc Ljava/lang/Number;
aload 1
if_acmpne 29
28: StackMap locals:
StackMap stack:
new java.math.BigDecimal
dup
aload 2
invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
areturn
29: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
30: new java.lang.StringBuilder
dup
ldc "Cannot convert String ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] to target class ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 text Ljava/lang/String;
0 32 1 targetClass Ljava/lang/Class<TT;>;
3 32 2 trimmed Ljava/lang/String;
Signature: <T:Ljava/lang/Number;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
text
targetClass
public static <T extends java.lang.Number> T parseNumber(java.lang.String, java.lang.Class<T>, java.text.NumberFormat);
descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/text/NumberFormat;)Ljava/lang/Number;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 21
1: aload 0
ldc "Text must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 1
ldc "Target class must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aconst_null
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: aload 2
instanceof java.text.DecimalFormat
ifeq 10
6: aload 2
checkcast java.text.DecimalFormat
astore 3
7: ldc Ljava/math/BigDecimal;
aload 1
if_acmpne 10
aload 3
invokevirtual java.text.DecimalFormat.isParseBigDecimal:()Z
ifne 10
8: aload 3
iconst_1
invokevirtual java.text.DecimalFormat.setParseBigDecimal:(Z)V
9: iconst_1
istore 4
10: StackMap locals: java.text.DecimalFormat int
StackMap stack:
aload 2
aload 0
invokestatic org.springframework.util.StringUtils.trimAllWhitespace:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.text.NumberFormat.parse:(Ljava/lang/String;)Ljava/lang/Number;
astore 5
start local 5 11: aload 5
aload 1
invokestatic org.springframework.util.NumberUtils.convertNumberToTargetClass:(Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
astore 7
12: iload 4
ifeq 14
13: aload 3
iconst_0
invokevirtual java.text.DecimalFormat.setParseBigDecimal:(Z)V
14: StackMap locals: java.lang.String java.lang.Class java.text.NumberFormat java.text.DecimalFormat int java.lang.Number top java.lang.Number
StackMap stack:
aload 7
areturn
end local 5 15: StackMap locals: java.lang.String java.lang.Class java.text.NumberFormat java.text.DecimalFormat int
StackMap stack: java.text.ParseException
astore 5
start local 5 16: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Could not parse number: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.text.ParseException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 5 17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
18: iload 4
ifeq 20
19: aload 3
iconst_0
invokevirtual java.text.DecimalFormat.setParseBigDecimal:(Z)V
20: StackMap locals: java.lang.String java.lang.Class java.text.NumberFormat java.text.DecimalFormat int top java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 4 end local 3 21: StackMap locals: java.lang.String java.lang.Class java.text.NumberFormat
StackMap stack:
aload 0
aload 1
invokestatic org.springframework.util.NumberUtils.parseNumber:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Number;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 text Ljava/lang/String;
0 22 1 targetClass Ljava/lang/Class<TT;>;
0 22 2 numberFormat Ljava/text/NumberFormat;
4 21 3 decimalFormat Ljava/text/DecimalFormat;
5 21 4 resetBigDecimal Z
11 15 5 number Ljava/lang/Number;
16 17 5 ex Ljava/text/ParseException;
Exception table:
from to target type
10 12 15 Class java.text.ParseException
10 12 17 any
15 17 17 any
Signature: <T:Ljava/lang/Number;>(Ljava/lang/String;Ljava/lang/Class<TT;>;Ljava/text/NumberFormat;)TT;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
text
targetClass
numberFormat
private static boolean isHexNumber(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: aload 0
ldc "0x"
iload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ifne 4
aload 0
ldc "0X"
iload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ifne 4
aload 0
ldc "#"
iload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ifne 4
iconst_0
ireturn
StackMap locals: int
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value Ljava/lang/String;
3 5 1 index I
MethodParameters:
Name Flags
value
private static java.math.BigInteger decodeBigInteger(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/math/BigInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: bipush 10
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 0
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
4: iconst_1
istore 3
5: iinc 2 1
6: StackMap locals: int int int
StackMap stack:
aload 0
ldc "0x"
iload 2
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ifne 7
aload 0
ldc "0X"
iload 2
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ifeq 10
7: StackMap locals:
StackMap stack:
iinc 2 2
8: bipush 16
istore 1
9: goto 17
10: StackMap locals:
StackMap stack:
aload 0
ldc "#"
iload 2
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ifeq 14
11: iinc 2 1
12: bipush 16
istore 1
13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
ldc "0"
iload 2
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ifeq 17
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
iload 2
iadd
if_icmple 17
15: iinc 2 1
16: bipush 8
istore 1
17: StackMap locals:
StackMap stack:
new java.math.BigInteger
dup
aload 0
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
iload 1
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
astore 4
start local 4 18: iload 3
ifeq 19
aload 4
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
goto 20
StackMap locals: java.math.BigInteger
StackMap stack:
19: aload 4
StackMap locals:
StackMap stack: java.math.BigInteger
20: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 value Ljava/lang/String;
1 21 1 radix I
2 21 2 index I
3 21 3 negative Z
18 21 4 result Ljava/math/BigInteger;
MethodParameters:
Name Flags
value
}
SourceFile: "NumberUtils.java"