ホームページ  >  記事  >  Java  >  If-Else ステートメントを三項演算子にリファクタリングできますか?

If-Else ステートメントを三項演算子にリファクタリングできますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-06 15:09:02349ブラウズ

Can You Refactor an If-Else Statement to a Ternary Operator?

三項演算子のリファクタリング

Java の三項演算子は、if-else ステートメントの簡潔な代替手段を提供し、true または false の条件を評価できるようにします。

質問:

次のコードは三項演算子に置き換えることはできますか?

if (string != null) {
    callFunction(parameters);
} else {
    // Intentionally left blank
}

答え:

ケース 1: void 以外の戻り値

callFunction(...) が void 以外の値を返す場合、次を使用できます。次のような三項演算子:

return_value = (string != null) ? callFunction(...) : null;

文字列が null でない場合は callFunction の戻り値を割り当て、それ以外の場合は null を割り当てます。

ケース 2: 戻り値なし

ただし、callFunction(...) が値を返さない場合は、三項演算子を使用できません。この場合、元の if-else ステートメントは引き続き必要です。

スタイルと使用上の考慮事項

三項演算子は単純な条件代入の便利な省略表現ですが、重要です。読みやすさと保守性を考慮します。コードの意図が明確でない場合、または追加のコンテキストが必要な場合は、通常、if-else ステートメントを使用することをお勧めします。

代替ワンライナー

空の場合false 句は何もしないことを目的としているため、代わりに次のワンライナーを使用できます:

if (string != null) callFunction(...);

以上がIf-Else ステートメントを三項演算子にリファクタリングできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。