gpt4 book ai didi

java - 行为类似于 boolean 值的自定义 Java 类型?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:38:23 29 4
gpt4 key购买 nike

<分区>

我想创建一个可以像 Boolean 一样使用的类型。具体来说,我希望测试结构能够工作:

if (mytype) {
System.out.println("true");
}

很明显,语言将此定义为 section 5.1.7 中的特例.一个测试应用程序显示了它:

public class TypeBoolTest {
public static void main(String args[]) {
Boolean bool = true;

if (bool) {
System.out.println("bool = true");
} else {
System.out.println("bool = false");
}
}
}

/**
Compiled from "TypeBoolTest.java"
public class TypeBoolTest {
public TypeBoolTest();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return

public static void main(java.lang.String[]);
Code:
0: iconst_1
1: invokestatic #2 // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
4: astore_1
5: aload_1
6: invokevirtual #3 // Method java/lang/Boolean.booleanValue:()Z
9: ifeq 23
12: getstatic #4 // Field java/lang/System.out:Ljava/io/PrintStream;
15: ldc #5 // String bool = true
17: invokevirtual #6 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
20: goto 31
23: getstatic #4 // Field java/lang/System.out:Ljava/io/PrintStream;
26: ldc #7 // String bool = false
28: invokevirtual #6 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
31: return
}
**/

扩展 Boolean 将不起作用,因为该类是最终类。

所以我的问题是:是否可以定义一个自定义类型,以便 Java 识别它遵循 boolean 装箱和拆箱规则?

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com