Java是布尔值’true’的默认值吗?
为什么private Boolean shouldDropTables;
默认情况下将true
赋给变量而不是NULL
,就像写private Integer anInteger;
?
我问的是因为我遇到了一些代码,其中对shouldDropTables
布尔变量的评估为NULL
或者没有确定是否执行方法。
布尔值(带有大写的“B”)是一个布尔对象,如果没有赋值,则默认为null。 boolean(带小写的’b’)是一个布尔基元,如果没有赋值,则默认为false。
Boolean objectBoolean; boolean primitiveBoolean; System.out.println(objectBoolean); // will print 'null' System.out.println(primitiveBoolean); // will print 'false'
没有。
默认情况下,Boolean为null
。
默认情况下为NULL。 因为它是一个布尔对象。
Object 'Boolean' = NULL value // By default, Primitive type 'boolean' = false value // By default.
也许你没有看到一些初始化。
它默认为null。 看这个样本:
$ cat B.java class B { private Boolean shouldDrop; public static void main( String ... args ) { System.out.println( new B().shouldDrop ); } } $ javac B.java $ java B null
我希望有所帮助
我只是想为一个原始布尔添加一个点(对于初学者)。
当@ 99tm回答时,默认值为“false”。 这对于实例或类变量是正确的。
如果您将方法局部变量(即方法的局部变量)作为基本布尔值,则没有默认值。 您需要在使用它之前初始化它,否则它是编译错误。
JLS 9,4.12.5。 变量的初始值
对于boolean类型,默认值为false。
对于所有引用类型(第4.3节),默认值为null。
Boolean
是引用类型,因此默认值为null
。