Heim  >  Artikel  >  Java  >  Können Sie eine If-Else-Anweisung in einen ternären Operator umwandeln?

Können Sie eine If-Else-Anweisung in einen ternären Operator umwandeln?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-06 15:09:02349Durchsuche

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

Ternärer Operator-Refactoring

Der ternäre Operator in Java bietet eine prägnante Alternative zu if-else-Anweisungen, mit der Sie wahre oder falsche Bedingungen auswerten können und weisen Sie je nach Ergebnis unterschiedliche Werte zu.

Frage:

Kann der folgende Code durch einen ternären Operator ersetzt werden?

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

Antwort:

Fall 1: Nicht ungültiger Rückgabewert

Wenn callFunction(...) einen nicht ungültigen Wert zurückgibt, können Sie verwenden der ternäre Operator wie folgt:

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

Dies weist den Rückgabewert von callFunction zu, wenn die Zeichenfolge nicht null ist, andernfalls wird null zugewiesen.

Fall 2: Kein Rückgabewert

Wenn callFunction(...) jedoch keinen Wert zurückgibt, können Sie keinen ternären Operator verwenden. In diesem Fall bleibt die ursprüngliche if-else-Anweisung erforderlich.

Überlegungen zu Stil und Verwendung

Ternäre Operatoren können zwar eine praktische Abkürzung für einfache bedingte Zuweisungen sein, sind aber wichtig ihre Lesbarkeit und Wartbarkeit zu berücksichtigen. Wenn die Absicht Ihres Codes nicht klar ist oder zusätzlichen Kontext erfordert, ist es normalerweise besser, bei if-else-Anweisungen zu bleiben.

Alternativer Einzeiler

Wenn Sie leer sind Wenn die false-Klausel nichts bewirken soll, können Sie stattdessen den folgenden Einzeiler verwenden:

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

Das obige ist der detaillierte Inhalt vonKönnen Sie eine If-Else-Anweisung in einen ternären Operator umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn