包裹类型Boolean

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

//? (version 1.8 : 52.0, super bit)
// Signature: Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/Boolean;>;
public final class java.lang.Boolean implements java.io.Serializable, java.lang.Comparable {

// Field descriptor #71 Ljava/lang/Boolean;
public static final java.lang.Boolean TRUE;

// Field descriptor #71 Ljava/lang/Boolean;
public static final java.lang.Boolean FALSE;

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

// Field descriptor #28 Z
private final boolean value;

// Field descriptor #22 J
private static final long serialVersionUID = -3665804199014368530L;

// Method descriptor #14 (Z)V
// Stack: 2, Locals: 2
public Boolean(boolean arg0);
0? aload_0 [this]
1? invokespecial java.lang.Object() [104]
4? aload_0 [this]
5? iload_1 [arg0]
6? putfield java.lang.Boolean.value : boolean [93]
9? return

// Method descriptor #11 (Ljava/lang/String;)V
// Stack: 2, Locals: 2
public Boolean(java.lang.String arg0);
0? aload_0 [this]
1? aload_1 [arg0]
2? invokestatic java.lang.Boolean.parseBoolean(java.lang.String) : boolean [102]
5? invokespecial java.lang.Boolean(boolean) [99]
8? return

// Method descriptor #12 (Ljava/lang/String;)Z
// Stack: 2, Locals: 1
public static boolean parseBoolean(java.lang.String arg0);
0? aload_0 [arg0]
1? ifnull 17
4? aload_0 [arg0]
5? ldc <String “true”> [3]
7? invokevirtual java.lang.String.equalsIgnoreCase(java.lang.String) : boolean [105]
10? ifeq 17
13? iconst_1
14? goto 18
17? iconst_0
18? ireturn
Stack map table: number of frames 2
[pc: 17, same]
[pc: 18, same_locals_1_stack_item, stack: {int}]

// Method descriptor #7 ()Z
// Stack: 1, Locals: 1
public boolean booleanValue();
0? aload_0 [this]
1? getfield java.lang.Boolean.value : boolean [93]
4? ireturn

// Method descriptor #75 (Z)Ljava/lang/Boolean;
// Stack: 1, Locals: 1
public static java.lang.Boolean valueOf(boolean arg0);
0? iload_0 [arg0]
1? ifeq 10
4? getstatic java.lang.Boolean.TRUE : java.lang.Boolean [95]
7? goto 13
10? getstatic java.lang.Boolean.FALSE : java.lang.Boolean [94]
13? areturn
Stack map table: number of frames 2
[pc: 10, same]
[pc: 13, same_locals_1_stack_item, stack: {java.lang.Boolean}]

// Method descriptor #78 (Ljava/lang/String;)Ljava/lang/Boolean;
// Stack: 1, Locals: 1
public static java.lang.Boolean valueOf(java.lang.String arg0);
0? aload_0 [arg0]
1? invokestatic java.lang.Boolean.parseBoolean(java.lang.String) : boolean [102]
4? ifeq 13
7? getstatic java.lang.Boolean.TRUE : java.lang.Boolean [95]
10? goto 16
13? getstatic java.lang.Boolean.FALSE : java.lang.Boolean [94]
16? areturn
Stack map table: number of frames 2
[pc: 13, same]
[pc: 16, same_locals_1_stack_item, stack: {java.lang.Boolean}]

// Method descriptor #77 (Z)Ljava/lang/String;
// Stack: 1, Locals: 1
public static java.lang.String toString(boolean arg0);
0? iload_0 [arg0]
1? ifeq 9
4? ldc <String “true”> [3]
6? goto 11
9? ldc <String “false”> [2]
11? areturn
Stack map table: number of frames 2
[pc: 9, same]
[pc: 11, same_locals_1_stack_item, stack: {java.lang.String}]

// Method descriptor #5 ()Ljava/lang/String;
// Stack: 1, Locals: 1
public java.lang.String toString();
0? aload_0 [this]
1? getfield java.lang.Boolean.value : boolean [93]
4? ifeq 12
7? ldc <String “true”> [3]
9? goto 14
12? ldc <String “false”> [2]
14? areturn
Stack map table: number of frames 2
[pc: 12, same]
[pc: 14, same_locals_1_stack_item, stack: {java.lang.String}]

// Method descriptor #4 ()I
// Stack: 1, Locals: 1
public int hashCode();
0? aload_0 [this]
1? getfield java.lang.Boolean.value : boolean [93]
4? invokestatic java.lang.Boolean.hashCode(boolean) : int [98]
7? ireturn

// Method descriptor #13 (Z)I
// Stack: 1, Locals: 1
public static int hashCode(boolean arg0);
0? iload_0 [arg0]
1? ifeq 10
4? sipush 1231
7? goto 13
10? sipush 1237
13? ireturn
Stack map table: number of frames 2
[pc: 10, same]
[pc: 13, same_locals_1_stack_item, stack: {int}]

// Method descriptor #8 (Ljava/lang/Object;)Z
// Stack: 2, Locals: 2
public boolean equals(java.lang.Object arg0);
0? aload_1 [arg0]
1? instanceof java.lang.Boolean [62]
4? ifeq 27
7? aload_0 [this]
8? getfield java.lang.Boolean.value : boolean [93]
11? aload_1 [arg0]
12? checkcast java.lang.Boolean [62]
15? invokevirtual java.lang.Boolean.booleanValue() : boolean [97]
18? if_icmpne 25
21? iconst_1
22? goto 26
25? iconst_0
26? ireturn
27? iconst_0
28? ireturn
Stack map table: number of frames 3
[pc: 25, same]
[pc: 26, same_locals_1_stack_item, stack: {int}]
[pc: 27, same]

// Method descriptor #12 (Ljava/lang/String;)Z
// Stack: 1, Locals: 3
public static boolean getBoolean(java.lang.String arg0);
0? iconst_0
1? istore_1
2? aload_0 [arg0]
3? invokestatic java.lang.System.getProperty(java.lang.String) : java.lang.String [106]
6? invokestatic java.lang.Boolean.parseBoolean(java.lang.String) : boolean [102]
9? istore_1
10? goto 14
13? astore_2
14? iload_1
15? ireturn
Exception Table:
[pc: 2, pc: 10] -> 13 when : java.lang.IllegalArgumentException
[pc: 2, pc: 10] -> 13 when : java.lang.NullPointerException
Stack map table: number of frames 2
[pc: 13, full, stack: {java.lang.RuntimeException}, locals: {java.lang.String, int}]
[pc: 14, same]

// Method descriptor #74 (Ljava/lang/Boolean;)I
// Stack: 2, Locals: 2
public int compareTo(java.lang.Boolean arg0);
0? aload_0 [this]
1? getfield java.lang.Boolean.value : boolean [93]
4? aload_1 [arg0]
5? getfield java.lang.Boolean.value : boolean [93]
8? invokestatic java.lang.Boolean.compare(boolean, boolean) : int [100]
11? ireturn

// Method descriptor #15 (ZZ)I
// Stack: 2, Locals: 2
public static int compare(boolean arg0, boolean arg1);
0? iload_0 [arg0]
1? iload_1 [arg1]
2? if_icmpne 9
5? iconst_0
6? goto 18
9? iload_0 [arg0]
10? ifeq 17
13? iconst_1
14? goto 18
17? iconst_m1
18? ireturn
Stack map table: number of frames 3
[pc: 9, same]
[pc: 17, same]
[pc: 18, same_locals_1_stack_item, stack: {int}]

// Method descriptor #16 (ZZ)Z
// Stack: 1, Locals: 2
public static boolean logicalAnd(boolean arg0, boolean arg1);
0? iload_0 [arg0]
1? ifeq 12
4? iload_1 [arg1]
5? ifeq 12
8? iconst_1
9? goto 13
12? iconst_0
13? ireturn
Stack map table: number of frames 2
[pc: 12, same]
[pc: 13, same_locals_1_stack_item, stack: {int}]

// Method descriptor #16 (ZZ)Z
// Stack: 1, Locals: 2
public static boolean logicalOr(boolean arg0, boolean arg1);
0? iload_0 [arg0]
1? ifne 8
4? iload_1 [arg1]
5? ifeq 12
8? iconst_1
9? goto 13
12? iconst_0
13? ireturn
Stack map table: number of frames 3
[pc: 8, same]
[pc: 12, same]
[pc: 13, same_locals_1_stack_item, stack: {int}]

// Method descriptor #16 (ZZ)Z
// Stack: 2, Locals: 2
public static boolean logicalXor(boolean arg0, boolean arg1);
0? iload_0 [arg0]
1? iload_1 [arg1]
2? ixor
3? ireturn

// Method descriptor #76 (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.Boolean [62]
5? invokevirtual java.lang.Boolean.compareTo(java.lang.Boolean) : int [101]
8? ireturn

// Method descriptor #6 ()V
// Stack: 3, Locals: 0
static {};
0? new java.lang.Boolean [62]
3? dup
4? iconst_1
5? invokespecial java.lang.Boolean(boolean) [99]
8? putstatic java.lang.Boolean.TRUE : java.lang.Boolean [95]
11? new java.lang.Boolean [62]
14? dup
15? iconst_0
16? invokespecial java.lang.Boolean(boolean) [99]
19? putstatic java.lang.Boolean.FALSE : java.lang.Boolean [94]
22? ldc <String “boolean”> [1]
24? invokestatic java.lang.Class.getPrimitiveClass(java.lang.String) : java.lang.Class [103]
27? putstatic java.lang.Boolean.TYPE : java.lang.Class [96]
30? return

}

《包裹类型Boolean》上有1条评论

评论已关闭。