当我尝试这段代码时,我在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)
为什么它不起作用?
boolean是原始类型,它只接受true或false.如果要分配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对象这里的文档.