gpt4 book ai didi

java - 三元 if 运算符在常规 if 内

转载 作者:行者123 更新时间:2023-11-29 09:49:34 29 4
gpt4 key购买 nike

在 Java 中,如果我在常规 if 中使用三元 if 运算符,例如:

if ((x > y - z) ? true : callLongWaitedMethod(many, parameteres)) {
loveTeddyBear();
}

如果 x > y - z 确实为真,它会执行 callLongWaitedMethod 吗?我希望不是这样,我可以使用这个漂亮的语句,乍一看有点复杂,但与额外的 boolean 变量相比更具吸引力:

boolean b = (x > y - z) ? true : callLongWaitedMethod(many, parameteres);
if (b) {
loveTeddyBear();
}

特别是如果我在一个反复迭代的大循环中使用它,那么从性能的角度来看,每次创建 boolean 值都不会很好,而如果我在循环外声明 boolean 值,我可能会错过整洁的因为循环很大。

最佳答案

这会如您所愿地工作,但是简单地使用普通的 || 运算符来完成完全相同的结果会更清楚:

if ((x > y - z) || callLongWaitedMethod(many, parameteres)) {
loveTeddyBear();
}

关于java - 三元 if 运算符在常规 if 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11540318/

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