ホームページ > Java > &#&チュートリアル > 三項演算子: 関数呼び出しに使用する必要がありますか?

三項演算子: 関数呼び出しに使用する必要がありますか?

Patricia Arquette
リリース: 2024-11-08 08:59:01
オリジナル
890 人が閲覧しました

Ternary Operator: Should You Use It for Function Calls?

三項演算子: 代替代入または冗長コード?

次のコード スニペットを考えてみましょう:

if (string != null) {
    callFunction(parameters);
} else {
    // Intentionally left blank
}
ログイン後にコピー

ですか?三項演算子を使用してこれをリファクタリングできますか?

Java の三項演算子の構文は次のとおりです:

return_value = (true-false condition) ? (if true expression) : (if false expression);
ログイン後にコピー

条件が true の場合、疑問符 (!) の後の式は次のようになります。評価され、戻り値に割り当てられます。それ以外の場合、コロン (:) の後の式が評価されて割り当てられます。

指定されたコードでは、if-else ステートメントは文字列変数が null でないかどうかを確認し、true の場合は関数を呼び出します。考えられるシナリオは 2 つあります:

  1. callFunction() の戻り値は void ではありません:
    この場合、三項演算子を次のように利用できます。以下は次のとおりです:

    return_value = (string != null) ? callFunction(parameters) : null;
    ログイン後にコピー
  2. callFunction() には戻り値がありません:
    このシナリオでは、三項演算子の使用は冗長です。 if-else ステートメントはすでに代替アクションを処理しており、三項演算子を追加しても追加の機能は提供されません。

三項演算子は代替代入を目的としていることに注意することが重要です。指定されたコードでは、true 句が関数を呼び出しますが、値は直接割り当てられません。したがって、ここで三項演算子を使用することは意味がありません。

代わりに、コードをワンライナーに単純化することが目的の場合は、次のオプションを検討できます:

  • false 句は不要なので削除します:

    if (string != null) {
        callFunction(parameters);
    }
    ログイン後にコピー
  • ワンライナー構文を使用します:

    if (string != null) callFunction(parameters);
    ログイン後にコピー

以上が三項演算子: 関数呼び出しに使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート