包裹类型Double

以下是包裹类型Double的一些描述:

//? (version 1.8 : 52.0, super bit)
// Signature: Ljava/lang/Number;Ljava/lang/Comparable<Ljava/lang/Double;>;
public final class java.lang.Double extends java.lang.Number implements java.lang.Comparable {

// Field descriptor #49 D
public static final double POSITIVE_INFINITY = Infinity;

// Field descriptor #49 D
public static final double NEGATIVE_INFINITY = -Infinity;

// Field descriptor #49 D
public static final double NaN = NaN;

// Field descriptor #49 D
public static final double MAX_VALUE = 1.7976931348623157E308;

// Field descriptor #49 D
public static final double MIN_NORMAL = 2.2250738585072014E-308;

// Field descriptor #49 D
public static final double MIN_VALUE = 4.9E-324;

// Field descriptor #51 I
public static final int MAX_EXPONENT = 1023;

// Field descriptor #51 I
public static final int MIN_EXPONENT = -1022;

// Field descriptor #51 I
public static final int SIZE = 64;

// Field descriptor #51 I
public static final int BYTES = 8;

// Field descriptor #53 Ljava/lang/Class;
// Signature: Ljava/lang/Class<Ljava/lang/Double;>;
public static final java.lang.Class TYPE;

// Field descriptor #49 D
private final double value;

// Field descriptor #52 J
private static final long serialVersionUID = -9172774392245257468L;

// Method descriptor #24 (D)Ljava/lang/String;
// Stack: 2, Locals: 2
public static java.lang.String toString(double arg0);
0? dload_0 [arg0]
1? invokestatic sun.misc.FloatingDecimal.toJavaFormatString(double) : java.lang.String [218]
4? areturn

// Method descriptor #24 (D)Ljava/lang/String;
// Stack: 4, Locals: 7
public static java.lang.String toHexString(double arg0);
0? dload_0 [arg0]
1? invokestatic java.lang.Double.isFinite(double) : boolean [196]
4? ifne 12
7? dload_0 [arg0]
8? invokestatic java.lang.Double.toString(double) : java.lang.String [201]
11? areturn
12? new java.lang.StringBuilder [146]
15? dup
16? bipush 24
18? invokespecial java.lang.StringBuilder(int) [213]
21? astore_2
22? dconst_1
23? dload_0 [arg0]
24? invokestatic java.lang.Math.copySign(double, double) : double [206]
27? ldc2_w <Double -1.0> [126]
30? dcmpl
31? ifne 41
34? aload_2
35? ldc <String “-“> [2]
37? invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [217]
40? pop
41? aload_2
42? ldc <String “0x”> [7]
44? invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [217]
47? pop
48? dload_0 [arg0]
49? invokestatic java.lang.Math.abs(double) : double [204]
52? dstore_0 [arg0]
53? dload_0 [arg0]
54? dconst_0
55? dcmpl
56? ifne 69
59? aload_2
60? ldc <String “0.0p0”> [5]
62? invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [217]
65? pop
66? goto 181
69? dload_0 [arg0]
70? ldc2_w <Double 2.2250738585072014E-308> [130]
73? dcmpg
74? ifge 81
77? iconst_1
78? goto 82
81? iconst_0
82? istore_3
83? dload_0 [arg0]
84? invokestatic java.lang.Double.doubleToLongBits(double) : long [193]
87? ldc2_w <Long 4503599627370495> [116]
90? land
91? ldc2_w <Long 1152921504606846976> [118]
94? lor
95? lstore 4
97? aload_2
98? iload_3
99? ifeq 107
102? ldc <String “0.”> [4]
104? goto 109
107? ldc <String “1.”> [9]
109? invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [217]
112? pop
113? lload 4
115? invokestatic java.lang.Long.toHexString(long) : java.lang.String [203]
118? iconst_3
119? bipush 16
121? invokevirtual java.lang.String.substring(int, int) : java.lang.String [211]
124? astore 6
126? aload_2
127? aload 6
129? ldc <String “0000000000000”> [6]
131? invokevirtual java.lang.String.equals(java.lang.Object) : boolean [210]
134? ifeq 142
137? ldc <String “0”> [3]
139? goto 151
142? aload 6
144? ldc <String “0{1,12}$”> [8]
146? ldc <String “”> [1]
148? invokevirtual java.lang.String.replaceFirst(java.lang.String, java.lang.String) : java.lang.String [212]
151? invokevirtual java.lang.StringBuilder.append(java.lang.String) : java.lang.StringBuilder [217]
154? pop
155? aload_2
156? bipush 112
158? invokevirtual java.lang.StringBuilder.append(char) : java.lang.StringBuilder [215]
161? pop
162? aload_2
163? iload_3
164? ifeq 173
167? sipush -1022
170? goto 177
173? dload_0 [arg0]
174? invokestatic java.lang.Math.getExponent(double) : int [205]
177? invokevirtual java.lang.StringBuilder.append(int) : java.lang.StringBuilder [216]
180? pop
181? aload_2
182? invokevirtual java.lang.StringBuilder.toString() : java.lang.String [214]
185? areturn
Stack map table: number of frames 12
[pc: 12, same]
[pc: 41, append: {java.lang.StringBuilder}]
[pc: 69, same]
[pc: 81, same]
[pc: 82, same_locals_1_stack_item, stack: {int}]
[pc: 107, full, stack: {java.lang.StringBuilder}, locals: {double, java.lang.StringBuilder, int, long}]
[pc: 109, full, stack: {java.lang.StringBuilder, java.lang.String}, locals: {double, java.lang.StringBuilder, int, long}]
[pc: 142, full, stack: {java.lang.StringBuilder}, locals: {double, java.lang.StringBuilder, int, long, java.lang.String}]
[pc: 151, full, stack: {java.lang.StringBuilder, java.lang.String}, locals: {double, java.lang.StringBuilder, int, long, java.lang.String}]
[pc: 173, same_locals_1_stack_item, stack: {java.lang.StringBuilder}]
[pc: 177, full, stack: {java.lang.StringBuilder, int}, locals: {double, java.lang.StringBuilder, int, long, java.lang.String}]
[pc: 181, chop 3 local(s)]

// Method descriptor #156 (Ljava/lang/String;)Ljava/lang/Double;
// Stack: 4, Locals: 1
public static java.lang.Double valueOf(java.lang.String arg0) throws java.lang.NumberFormatException;
0? new java.lang.Double [140]
3? dup
4? aload_0 [arg0]
5? invokestatic java.lang.Double.parseDouble(java.lang.String) : double [202]
8? invokespecial java.lang.Double(double) [195]
11? areturn

// Method descriptor #150 (D)Ljava/lang/Double;
// Stack: 4, Locals: 2
public static java.lang.Double valueOf(double arg0);
0? new java.lang.Double [140]
3? dup
4? dload_0 [arg0]
5? invokespecial java.lang.Double(double) [195]
8? areturn

// Method descriptor #33 (Ljava/lang/String;)D
// Stack: 2, Locals: 1
public static double parseDouble(java.lang.String arg0) throws java.lang.NumberFormatException;
0? aload_0 [arg0]
1? invokestatic sun.misc.FloatingDecimal.parseDouble(java.lang.String) : double [219]
4? dreturn

// Method descriptor #26 (D)Z
// Stack: 4, Locals: 2
public static boolean isNaN(double arg0);
0? dload_0 [arg0]
1? dload_0 [arg0]
2? dcmpl
3? ifeq 10
6? iconst_1
7? goto 11
10? iconst_0
11? ireturn
Stack map table: number of frames 2
[pc: 10, same]
[pc: 11, same_locals_1_stack_item, stack: {int}]

// Method descriptor #26 (D)Z
// Stack: 4, Locals: 2
public static boolean isInfinite(double arg0);
0? dload_0 [arg0]
1? ldc2_w <Double Infinity> [134]
4? dcmpl
5? ifeq 16
8? dload_0 [arg0]
9? ldc2_w <Double -Infinity> [124]
12? dcmpl
13? ifne 20
16? iconst_1
17? goto 21
20? iconst_0
21? ireturn
Stack map table: number of frames 3
[pc: 16, same]
[pc: 20, same]
[pc: 21, same_locals_1_stack_item, stack: {int}]

// Method descriptor #26 (D)Z
// Stack: 4, Locals: 2
public static boolean isFinite(double arg0);
0? dload_0 [arg0]
1? invokestatic java.lang.Math.abs(double) : double [204]
4? ldc2_w <Double 1.7976931348623157E308> [132]
7? dcmpg
8? ifgt 15
11? iconst_1
12? goto 16
15? iconst_0
16? ireturn
Stack map table: number of frames 2
[pc: 15, same]
[pc: 16, same_locals_1_stack_item, stack: {int}]

// Method descriptor #25 (D)V
// Stack: 3, Locals: 3
public Double(double arg0);
0? aload_0 [this]
1? invokespecial java.lang.Number() [209]
4? aload_0 [this]
5? dload_1 [arg0]
6? putfield java.lang.Double.value : double [189]
9? return

// Method descriptor #35 (Ljava/lang/String;)V
// Stack: 3, Locals: 2
public Double(java.lang.String arg0) throws java.lang.NumberFormatException;
0? aload_0 [this]
1? invokespecial java.lang.Number() [209]
4? aload_0 [this]
5? aload_1 [arg0]
6? invokestatic java.lang.Double.parseDouble(java.lang.String) : double [202]
9? putfield java.lang.Double.value : double [189]
12? return

// Method descriptor #20 ()Z
// Stack: 2, Locals: 1
public boolean isNaN();
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? invokestatic java.lang.Double.isNaN(double) : boolean [198]
7? ireturn

// Method descriptor #20 ()Z
// Stack: 2, Locals: 1
public boolean isInfinite();
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? invokestatic java.lang.Double.isInfinite(double) : boolean [197]
7? ireturn

// Method descriptor #17 ()Ljava/lang/String;
// Stack: 2, Locals: 1
public java.lang.String toString();
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? invokestatic java.lang.Double.toString(double) : java.lang.String [201]
7? areturn

// Method descriptor #12 ()B
// Stack: 2, Locals: 1
public byte byteValue();
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? d2i
5? i2b
6? ireturn

// Method descriptor #18 ()S
// Stack: 2, Locals: 1
public short shortValue();
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? d2i
5? i2s
6? ireturn

// Method descriptor #15 ()I
// Stack: 2, Locals: 1
public int intValue();
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? d2i
5? ireturn

// Method descriptor #16 ()J
// Stack: 2, Locals: 1
public long longValue();
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? d2l
5? lreturn

// Method descriptor #14 ()F
// Stack: 2, Locals: 1
public float floatValue();
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? d2f
5? freturn

// Method descriptor #13 ()D
// Stack: 2, Locals: 1
public double doubleValue();
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? dreturn

// Method descriptor #15 ()I
// Stack: 2, Locals: 1
public int hashCode();
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? invokestatic java.lang.Double.hashCode(double) : int [192]
7? ireturn

// Method descriptor #22 (D)I
// Stack: 5, Locals: 4
public static int hashCode(double arg0);
0? dload_0 [arg0]
1? invokestatic java.lang.Double.doubleToLongBits(double) : long [193]
4? lstore_2
5? lload_2
6? lload_2
7? bipush 32
9? lushr
10? lxor
11? l2i
12? ireturn

// Method descriptor #32 (Ljava/lang/Object;)Z
// Stack: 4, Locals: 2
public boolean equals(java.lang.Object arg0);
0? aload_1 [arg0]
1? instanceof java.lang.Double [140]
4? ifeq 32
7? aload_1 [arg0]
8? checkcast java.lang.Double [140]
11? getfield java.lang.Double.value : double [189]
14? invokestatic java.lang.Double.doubleToLongBits(double) : long [193]
17? aload_0 [this]
18? getfield java.lang.Double.value : double [189]
21? invokestatic java.lang.Double.doubleToLongBits(double) : long [193]
24? lcmp
25? ifne 32
28? iconst_1
29? goto 33
32? iconst_0
33? ireturn
Stack map table: number of frames 2
[pc: 32, same]
[pc: 33, same_locals_1_stack_item, stack: {int}]

// Method descriptor #23 (D)J
// Stack: 4, Locals: 4
public static long doubleToLongBits(double arg0);
0? dload_0 [arg0]
1? invokestatic java.lang.Double.doubleToRawLongBits(double) : long [194]
4? lstore_2
5? lload_2
6? ldc2_w <Long 9218868437227405312> [120]
9? land
10? ldc2_w <Long 9218868437227405312> [120]
13? lcmp
14? ifne 31
17? lload_2
18? ldc2_w <Long 4503599627370495> [116]
21? land
22? lconst_0
23? lcmp
24? ifeq 31
27? ldc2_w <Long 9221120237041090560> [122]
30? lstore_2
31? lload_2
32? lreturn
Stack map table: number of frames 1
[pc: 31, append: {long}]

// Method descriptor #23 (D)J
public static native long doubleToRawLongBits(double arg0);

// Method descriptor #31 (J)D
public static native double longBitsToDouble(long arg0);

// Method descriptor #151 (Ljava/lang/Double;)I
// Stack: 4, Locals: 2
public int compareTo(java.lang.Double arg0);
0? aload_0 [this]
1? getfield java.lang.Double.value : double [189]
4? aload_1 [arg0]
5? getfield java.lang.Double.value : double [189]
8? invokestatic java.lang.Double.compare(double, double) : int [199]
11? ireturn

// Method descriptor #28 (DD)I
// Stack: 4, Locals: 8
public static int compare(double arg0, double arg1);
0? dload_0 [arg0]
1? dload_2 [arg1]
2? dcmpg
3? ifge 8
6? iconst_m1
7? ireturn
8? dload_0 [arg0]
9? dload_2 [arg1]
10? dcmpl
11? ifle 16
14? iconst_1
15? ireturn
16? dload_0 [arg0]
17? invokestatic java.lang.Double.doubleToLongBits(double) : long [193]
20? lstore 4
22? dload_2 [arg1]
23? invokestatic java.lang.Double.doubleToLongBits(double) : long [193]
26? lstore 6
28? lload 4
30? lload 6
32? lcmp
33? ifne 40
36? iconst_0
37? goto 53
40? lload 4
42? lload 6
44? lcmp
45? ifge 52
48? iconst_m1
49? goto 53
52? iconst_1
53? ireturn
Stack map table: number of frames 5
[pc: 8, same]
[pc: 16, same]
[pc: 40, append: {long, long}]
[pc: 52, same]
[pc: 53, same_locals_1_stack_item, stack: {int}]

// Method descriptor #27 (DD)D
// Stack: 4, Locals: 4
public static double sum(double arg0, double arg1);
0? dload_0 [arg0]
1? dload_2 [arg1]
2? dadd
3? dreturn

// Method descriptor #27 (DD)D
// Stack: 4, Locals: 4
public static double max(double arg0, double arg1);
0? dload_0 [arg0]
1? dload_2 [arg1]
2? invokestatic java.lang.Math.max(double, double) : double [207]
5? dreturn

// Method descriptor #27 (DD)D
// Stack: 4, Locals: 4
public static double min(double arg0, double arg1);
0? dload_0 [arg0]
1? dload_2 [arg1]
2? invokestatic java.lang.Math.min(double, double) : double [208]
5? dreturn

// Method descriptor #152 (Ljava/lang/Object;)I
// Stack: 2, Locals: 2
public bridge synthetic int compareTo(java.lang.Object arg0);
0? aload_0 [this]
1? aload_1 [arg0]
2? checkcast java.lang.Double [140]
5? invokevirtual java.lang.Double.compareTo(java.lang.Double) : int [200]
8? ireturn

// Method descriptor #19 ()V
// Stack: 1, Locals: 0
static {};
0? ldc <String “double”> [10]
2? invokestatic java.lang.Class.getPrimitiveClass(java.lang.String) : java.lang.Class [191]
5? putstatic java.lang.Double.TYPE : java.lang.Class [190]
8? return

}

《包裹类型Double》上有27条评论

评论已关闭。