Java 的布尔默认值是“真"吗?

2022-01-19 00:00:00 boolean java

为什么private Boolean shouldDropTables;默认给变量赋值true而不是NULL,就像写private Integer anInteger的时候;?

Why does private Boolean shouldDropTables; assign true by default to the variable instead of NULL, like when writing private Integer anInteger;?

我之所以问,是因为我遇到了一些代码,其中对 shouldDropTables 布尔变量进行评估是 NULL 或不确定是否执行方法.

I am asking because I came across some code where there was an evaluation on a shouldDropTables Boolean variable being NULL or not determining whether to execute a method.

推荐答案

Boolean(带有大写'B')是一个布尔对象,如果没有赋值,默认为null.boolean(带有小写b")是一个布尔原语,如果没有赋值,则默认为 false.

Boolean (with a uppercase 'B') is a Boolean object, which if not assigned a value, will default to null. boolean (with a lowercase 'b') is a boolean primitive, which if not assigned a value, will default to false.

Boolean objectBoolean;
boolean primitiveBoolean;

System.out.println(objectBoolean); // will print 'null'
System.out.println(primitiveBoolean); // will print 'false'

相关文章