三項演算子: 代替代入または冗長コード?
次のコード スニペットを考えてみましょう:
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 つあります:
callFunction() の戻り値は void ではありません:
この場合、三項演算子を次のように利用できます。以下は次のとおりです:
return_value = (string != null) ? callFunction(parameters) : null;
三項演算子は代替代入を目的としていることに注意することが重要です。指定されたコードでは、true 句が関数を呼び出しますが、値は直接割り当てられません。したがって、ここで三項演算子を使用することは意味がありません。
代わりに、コードをワンライナーに単純化することが目的の場合は、次のオプションを検討できます:
false 句は不要なので削除します:
if (string != null) { callFunction(parameters); }
ワンライナー構文を使用します:
if (string != null) callFunction(parameters);
以上が三項演算子: 関数呼び出しに使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。