gpt4 book ai didi

java - 为什么 org.apache.commons.lang.BooleanUtils.isTrue(Boolean bool) 使用三元运算符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:01:19 29 4
gpt4 key购买 nike

我无缘无故地 F3 进入这个,并且惊讶地看到这个方法实现如下:

public static boolean isTrue(Boolean bool) {
if (bool == null) {
return false;
}
return bool.booleanValue() ? true : false;
}

为什么不呢?

public static boolean isTrue(Boolean bool) {
if (bool == null) {
return false;
}
return bool.booleanValue();
}

这并不重要,所以我想知道这样做有什么好处吗?可读性是一个足够弱的论据,我认为这是噪音。除非我缺少其他一些好处。

最佳答案

我找不到任何正当的理由。

Java 的 API 规范说:

public boolean booleanValue()

Returns the value of this Boolean object as a boolean primitive.

所以如果我们的 bool 对象是:

Boolean bool = new Boolean(true);

这等价于:

bool.booleanValue() == true;

这里的三元比较器是多余的,降低了可读性。

关于java - 为什么 org.apache.commons.lang.BooleanUtils.isTrue(Boolean bool) 使用三元运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12836734/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com