包裹类型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条评论

评论已关闭。