如何在不使用构造函数的情况下在java中设置Boolean的默认值

时间:2017-10-04 07:16:29

标签: java

如何在不使用构造函数的情况下在java中设置Boolean的默认值。我想默认设置布尔值为true而不是null检查。我不想使用构造函数。是否存在任何其他注释来设置默认值。

public class Address {

private String state;
private Boolean active;

public Address() {
    this.active = true;
}

public String getState() {
    return state;
}

public void setState(String state) {
    this.state = state;
}

public Boolean getActive() {
    return active;
}

public void setActive(Boolean active) {
    this.active = active;
}

}

2 个答案:

答案 0 :(得分:0)

  

我想默认设置布尔值为true而不是null检查。

你不能。引用类型的默认值为null。这在Java语言规范(JLS 4.12.5)中有所说明,您无法对其进行更改。

如果您希望初始值为其他值,则必须在声明中使用显式初始值设定项,或者在构造函数中使用分配。

  

我不想使用构造函数。

然后使用初始化器; e.g。

    private Boolean active = true;
  

是否存在任何其他注释来设置默认值。

没有 1

1 - 也就是说:没有标准 Java注释。您可能能够发明自己的自定义注释,并实现注释处理器或重写您的代码以添加隐式初始化。但这并不明智。您正在有效地更改语言...这使得其他人很难理解您的代码。此外,自定义注释处理将成为下一个人维护的额外负担。所有要保存...打字六个字符。功能

答案 1 :(得分:-1)

您可以尝试覆盖 java.lang.Boolean 类并将其放在endorsed目录中...(不推荐使用)