3 java oop syntax null boolean
我写了以下代码
Boolean isit;
if(isit== true) {
System.out.println("isit is true");
} else {
System.out.println("isit is not false");
}
Run Code Online (Sandbox Code Playgroud)
但它总是为空,但它应该给出错误的default
...
Doo*_*nob 20
当您将其声明为Boolean
(注意大写字母)时,它是一个对象,因此null
默认情况下.
我认为你的意思是成为一个boolean
,而不是一个Boolean
.
此外,boolean
您可以这样做:
boolean isit;
if (isit) {
System.out.println("isit is true");
} else {
System.out.println("isit is false");
}
//prints "isit is false"
Run Code Online (Sandbox Code Playgroud)
das*_*ght 10
与boolean
具有两种状态的原语不同,即true
和false
,包装器Boolean
具有另外的第三状态null
.当Boolean
对象是null
,它既不是true
也不是false
.
当您将对象与等式进行比较时true
,该值将被包装为Boolean
,并与之进行比较null
.结果是false
.false
但是,如果将它与之比较,则会发生同样的情况:下面的代码不会打印任何内容.
Boolean isit = null;
if (isit == true) { // true gets converted to Boolean.TRUE
System.out.println("isit is true")
}
if (isit == false) { // false gets converted to Boolean.FALSE
System.out.println("isit is false")
}
Run Code Online (Sandbox Code Playgroud)
如果你在你的旗帜(需要三种状态true
,false
和"未设置"),你应该使用Boolean
; 如果您只需要两个状态(true
和false
),则应保留原始数据类型boolean
.