我不是在谈论检查 boolean 值是否为 null 作为检查它是否已初始化的方法。因为那行不通。所以我认为这可能有效:
public class MyClass{
private boolean setting;
private boolean getSetting{
// get the setting;
}
public void main{
if (setting != (true && false))
setting = getSetting();
// do main stuff;
}
}
确实如此!所以我的问题是:与使用额外变量的替代方案相比,这是一个好的做法吗:
public class MyClass{
private boolean initialized = false;
private boolean setting;
private boolean getSetting{
// get the setting;
}
public void main{
if (!initialized)
setting = getSetting();
initialized = true;
// do main stuff;
}
}
最佳答案
boolean 值是原始类型,因此不需要初始化。 boolean 值的默认值为 false
。
第一个代码示例返回 false,因为短语 true && false
将始终等同于 false(&&
检查两个语句是否为真,而事实并非如此,所以它是 false),然后检查 setting
(也是 false
)是否不等于那个,但事实并非如此。因此,initialized
变量可能很有用。
您可以阅读有关默认值和基本类型的更多信息 here .
关于Java检查 boolean 值是否已初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29886184/