【问题标题】:Is Java's default value for Boolean 'true'? [duplicate]Java 的布尔默认值是“真”吗? [复制]
【发布时间】:2011-08-28 05:53:24
【问题描述】:

为什么private Boolean shouldDropTables;默认分配true给变量而不是NULL,就像写private Integer anInteger;时一样?

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

【问题讨论】:

  • "为什么 private Boolean shouldDropTables; 默认情况下将 true 分配给变量而不是 NULL" 它没有。为此需要一些其他代码,此问题未显示。
  • 这里的答案很好,但没有上下文和错误的假设。这个问题不是 SO 的主题

标签: java boolean


【解决方案1】:

我只是想补充一点(针对初学者)关于原始 boolean 变量。

正如@99tm 回答的那样,默认值为“false”。这对于实例或类变量是正确的。

如果您有一个方法局部变量(即方法的局部变量)作为原始boolean,则没有默认值,它不是Object,因此它也不能为空。

使用前必须先初始化,否则编译错误。

【讨论】:

  • 我从来不知道原语。现在我要查一下 intdouble 在实例变量时被初始化为什么。
【解决方案2】:

Boolean(带有大写“B”)是一个布尔对象,如果没有赋值,则默认为空。 boolean(带有小写“b”)是一个布尔原语,如果没有赋值,则默认为 false。

Boolean objectBoolean;
boolean primitiveBoolean;

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

【讨论】:

    【解决方案3】:

    没有。

    布尔值默认为null

    【讨论】:

      【解决方案4】:

      默认为 NULL。因为它是一个布尔对象。

      Object 'Boolean' =  NULL value          // By default,
      Primitive type 'boolean' = false value  // By default.
      

      【讨论】:

        【解决方案5】:

        JLS 9, 4.12.5. Initial Values of Variables

        • 对于布尔类型,默认值为false。

        • 对于所有引用类型(第 4.3 节),默认值为 null。

        Boolean 是引用类型,因此默认值为null

        【讨论】:

          【解决方案6】:

          也许您没有看到一些初始化。

          默认为空。请参阅此示例:

          $ 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
          

          希望对你有帮助

          【讨论】:

            猜你喜欢
            • 2014-02-25
            • 2014-12-05
            • 2019-01-25
            • 2011-12-13
            • 2019-04-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-05-09
            相关资源
            最近更新 更多