使用boolean = null执行条件时出错

Dev*_*rfu 1 java null boolean

当我尝试这段代码时,我在Eclipse上遇到错误

boolean notif = (Boolean) null;
if(notif == null) // <== ERROR at this line saying "No suggestion available" (very helpful)
 {
    System.out.println("Notif = null");
 }
Run Code Online (Sandbox Code Playgroud)

为什么它不起作用?

Mau*_*ker 6

boolean是原始类型,它只接受truefalse.如果要分配null给变量,请改用对象Boolean.

Boolean notif = null;

if(notif == null) {
    System.out.println("Notif = null");
}
Run Code Online (Sandbox Code Playgroud)

但是......如果您使用原始类型,请执行以下操作:

boolean notif = // true or false;

if(notif) {
    System.out.println("Notif = true");
}
else {
    System.out.println("Notif = false");
}
Run Code Online (Sandbox Code Playgroud)

编辑:Boolean和之间的区别boolean是第一个是一个对象,它带有一些你可能想要使用的方法.第二个,作为原始类型使用较少的内存.现在考虑这些点并选择你需要的东西;)

更多关于Boolean对象这里的文档.