Java中布尔值和布尔值的默认值

Mak*_*kky 240 java boolean default-value

Java中的boolean(primitive)和Boolean(primitive wrapper)的默认值是什么?

Pri*_*ley 475

Boolean(对象)的默认值是null.(基元)
的默认值booleanfalse.

  • 请添加官方来源[link](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html) (2认同)

Pet*_*rey 385

任何Object的默认值,例如Object引用Boolean

a的默认值为nullfalse.

注意:每个原语都有一个包装类.每个包装器都使用一个默认值为boolean Primitives 的引用具有不同的默认值

boolean - > false

byte,char,short,int,float - > 0

float,double - > 0.0

注(2):null有一个包装器void,它也有一个默认值,Void它是唯一可能的值(不使用hacks)

  • 我想有人可以提到 `Boolean` 是 `Object`,这会让第一行的意思很明显。这听起来很基本,但对于问这样一个基本问题的人来说可能会有所帮助。 (2认同)

Bas*_*rdo 23

boolean
可以是truefalse.
默认值是false.

(来源:Java Primitive Variables)

布尔
可以是一个Boolean对象,表示truefalse,可以null.
默认值是null.


Pet*_*ans 17

如果你需要问,那么你需要明确初始化你的字段/变量,因为如果你必须查找它,那么其他人也可能需要这样做.

这里boolean可以看到,基元的值是假的.

正如其他人所提到的Boolean,默认情况下,a的值将为null.

  • @LoBo - 我认为补偿潜在的知识缺乏是没有错的.您不知道谁将维护您的代码.任何使您的代码更容易理解和/或可读的东西,同时对性能影响很小,只能是一件好事. (4认同)
  • "缺乏知识"意味着有一些预期的水平可供比较.如果这个最低知识水平是明确的,我同意.如果没有,我觉得谨慎是因为更明确.总之,这是一个相当个人/团队的决定/意见. (2认同)

pla*_*nes 9

Boolean是一个Object.因此,如果它是一个实例变量,它将为null.如果在方法中声明它,则必须对其进行初始化,否则将出现编译器错误.

如果声明为基元,即布尔值.如果值是实例变量(或类变量),则默认值为false.如果它在方法中声明,您仍然必须将其初始化为true或false,否则将出现编译器错误.


cod*_*ict 6

未初始化的Boolean成员(实际上是对类型对象的引用Boolean)将具有默认值null.

未初始化boolean(原始)成员的默认值为false.