题
虽然我知道通过定义一个布尔仅由两种状态,真或假的。我想知道,之后以这两种状态下进行初始化并一个布尔有什么价值。
解决方案
其他提示
如果它是一个局部变量,它是一个编译器错误引用它它被初始化之前。如果它是一个字段,它被初始化为假。
public class NewMain {
boolean foo;
Boolean bar;
public static void main(String[] args) {
NewMain obj = new NewMain();
obj.whatBoolean();
}
public void whatBoolean() {
System.out.println(foo);
System.out.println(bar);
}
}
输出
false
null
我知道这是更多的哲学问题,但(现在只有它是否会工作在反向过我讨厌有原始类型...)感谢您自动装箱可以使用Java作为一个几乎真正的面向对象语言。它,然而,当使用一个对象(为更好IMO)改变的行为。
在JAVA布尔类型默认为False。
FYI,布尔默认为false,原始数字默认为0,0L,0F 0D或酌情炭默认为 '\ 0',对象的引用(如布尔型)缺省为空值。
这也适用于数组的内容。 (A常见的问题是,对象数组最初充满空值)
有的假强>
如果你有这样的事情
boolean isTrue;
System.out.println(isTrue);
您应该得到一个编译时错误,因为布尔未初始化。默认情况下,当您尝试初始化此它将被设置为false;
不隶属于 StackOverflow