Ternärer Operator: Alternative Zuweisung oder redundanter Code?
Betrachten Sie den folgenden Codeausschnitt:
if (string != null) { callFunction(parameters); } else { // Intentionally left blank }
Ist es das? Ist es möglich, dies mithilfe des ternären Operators umzugestalten?
Der ternäre Operator in Java hat die folgende Syntax:
return_value = (true-false condition) ? (if true expression) : (if false expression);
Wenn die Bedingung wahr ist, wird der Ausdruck nach dem Fragezeichen (!) ausgewertet und dem Rückgabewert zugewiesen. Andernfalls wird der Ausdruck nach dem Doppelpunkt (:) ausgewertet und zugewiesen.
Im angegebenen Code prüft die if-else-Anweisung, ob eine Zeichenfolgenvariable nicht null ist, und ruft eine Funktion auf, wenn sie wahr ist. Wir können zwei mögliche Szenarien annehmen:
callFunction() hat einen nicht leeren Rückgabewert:
In diesem Fall können wir den ternären Operator als verwenden folgt:
return_value = (string != null) ? callFunction(parameters) : null;
Es ist wichtig zu beachten, dass der ternäre Operator für alternative Zuweisungen gedacht ist. Im angegebenen Code ruft die true-Klausel eine Funktion auf, die keinen Wert direkt zuweist. Folglich wäre die Verwendung des ternären Operators hier nicht sinnvoll.
Wenn das Ziel stattdessen darin besteht, den Code in einen Einzeiler zu vereinfachen, können die folgenden Optionen in Betracht gezogen werden:
Entfernen Sie die falsche Klausel, da sie unnötig ist:
if (string != null) { callFunction(parameters); }
Verwenden Sie den Einzeiler Syntax:
if (string != null) callFunction(parameters);
Das obige ist der detaillierte Inhalt vonTernärer Operator: Sollten Sie ihn für Funktionsaufrufe verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!