为什么我们在java中需要布尔(布尔)构造函数?

时间:2014-06-25 16:45:25

标签: java

我想知道是否有任何遗留原因或常见用例,因为我认为这个构造函数没有任何用处。

为什么要用这个:

Boolean b = new Boolean(var);

当我们有:

Boolean b = var; // Java will auto-box into Boolean.TRUE / Boolean.FALSE

Boolean b = Boolean.valueOf(var);

文档声明除非需要新实例,否则很少使用此构造函数

我们什么时候需要新实例?

1 个答案:

答案 0 :(得分:0)

以下是您如何使用不同实例的示例:

private static Boolean NO_VALUE = new Boolean(false);

private Boolean foo = NO_VALUE;

public setFoo(Boolean foo) {  // may be TRUE, FALSE or null
    if(foo = NO_VALUE) {
        // initialization logic
    }
    this.foo = foo;
}

这可能不是最好的用例,但我认为它证明了为什么一个不同的实例并非完全没用。