以下是包裹类型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条评论
评论已关闭。