Java では、通常の if 内で三項 if 演算子を使用すると、たとえば次のようになります。
if ((x > y - z) ? true : callLongWaitedMethod(many, parameteres)) {
loveTeddyBear();
}
本当に true の場合、callLongWaitedMethod を実行しx > y - z
ますか? そうでないことを願っています。この素敵なステートメントを使用できます。一見すると少し複雑ですが、追加のブール変数と比較するとより魅力的です。
boolean b = (x > y - z) ? true : callLongWaitedMethod(many, parameteres);
if (b) {
loveTeddyBear();
}
特に、これを何度も繰り返す大きなループ内で使用している場合、毎回ブール値を作成するのはパフォーマンスの観点からは良くありませんが、ループの外側でブール値を宣言すると、きちんとしたものを見逃す可能性があります。ループのサイズが大きい。