如何在不使用构造函数的情况下在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;
}
}
答案 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目录中...(不推荐使用)