我的豆如下
private boolean myBoolean;
public boolean isMyBoolean() {
return myBoolean;
}
public void setMyBoolean(
boolean myBoolean) {
this.myBoolean = myBoolean;
}
现在,当我对上述布尔字段使用setter时,什么是有效的方法?
setMyBoolean(true);
要么
setMyBoolean(Boolean.TRUE);
我知道自动装箱会很小心,并且两者都可以工作,但是我不知道此示例中的有效方式是什么。所以我的问题是我应该使用哪两个编写高效的代码,或者两者都一样好
TIA
最佳答案
恕我直言
setMyBoolean(true);
原始方法总是比Wrappers更受青睐。无论我在哪里能够使用原始方法,我都会去寻找它们
因为在运行时,如果我们使用包装器Boxing conversions,而Unboxing Conversions在运行时发生,显然这会花费更多时间。
就你而言
在运行时,装箱转换的进行如下:
如果p是
boolean
类型的值,则装箱转换会将p转换为类和类型为Boolean的引用r,这样r.booleanValue() == p
如果在那里使用原始,显然可以节省时间。