首頁  >  文章  >  Java  >  三元運算子:您應該將其用於函數呼叫嗎?

三元運算子:您應該將其用於函數呼叫嗎?

Patricia Arquette
Patricia Arquette原創
2024-11-08 08:59:01780瀏覽

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,則呼叫函數。我們可以假設兩個可能的情況:

  1. callFunction()有一個非空回傳值:
    在這種情況下,我們可以使用三元運算子作為如下:

    return_value = (string != null) ? callFunction(parameters) : null;
  2. callFunction() 沒有回傳值:
    在這種情況下,使用三元運算子將是多餘的。 if-else 語句已經處理了替代操作,而新增三元運算子不會提供任何附加功能。

需要注意的是,三元運算子用於替代賦值。在給定的程式碼中,true 子句呼叫一個函數,該函數不直接賦值。因此,在這裡使用三元運算子是沒有意義的。

相反,如果目標是將程式碼簡化為單行程式碼,則可以考慮以下選項:

  • 刪除 false子句,因為它是不必要的:

    if (string != null) {
        callFunction(parameters);
    }
  • 使用單行語法:

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

以上是三元運算子:您應該將其用於函數呼叫嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn