Avatar ·

Wie verwendet man den ternären Operator in Kotlin? Analog zu ? : aus Java

Hallo zusammen! Ich bin kürzlich von Java auf Kotlin umgestiegen und habe ein Problem. In Java habe ich oft den ternären Operator für kurze bedingte Zuweisungen verwendet, zum Beispiel: ```java int max = (a > b) ? a : b; ``` Aber in Kotlin kann ich keine solche Syntax finden. Wenn ich etwas Ähnliches schreibe: ```kotlin val max = (a > b) ? a : b ``` gibt der Compiler einen Fehler aus. Ich verstehe, dass es in Kotlin `if` als Ausdruck gibt, aber das erscheint mir für einfache Fälle zu ausführlich. Zum Beispiel: ```kotlin val max = if (a > b) a else b ``` Das funktioniert, wirkt aber im Vergleich zum ternären Operator aus Java umständlich. Gibt es in Kotlin eine kürzere Möglichkeit? Vielleicht gibt es einen Operator `?:` oder etwas Ähnliches? Ich habe auch von `when` gehört, bin mir aber nicht sicher, ob es für so einfache Bedingungen geeignet ist. Ich wäre dankbar für Codebeispiele und Erklärungen. Vielen Dank im Voraus! <<>>

Kotlin hat keinen ternären Operator, aber eine bessere Lösung

Tatsächlich fehlt in Kotlin der klassische ternäre Operator