我的豆如下

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

如果在那里使用原始,显然可以节省时间。

10-05 18:33
查看更多