概述
参见英文答案 > Is autoboxing possible for the classes I create?????????????????????????????????????4个
我想创建一个可以像布尔一样使用的类型.具体来说,我希望测试结构能够工作:
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."":()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
}
**/
扩展布尔值不起作用,因为该类是最终的.
所以我的问题是:是否可以定义一个自定义类型,以便Java识别它遵循布尔装箱和拆箱规则?
最后
以上就是忧心草丛为你收集整理的java定义一个bool_像Boolean这样的自定义Java类型?的全部内容,希望文章能够帮你解决java定义一个bool_像Boolean这样的自定义Java类型?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复