2017-07-27 4 views

Antwort

2

?: gibt den Ausdruck auf der rechten Seite zurück, falls der Ausdruck links davon null ist.

In diesem Fall, anstatt s einen Wert zu geben, wird es sofort von der aktuellen Funktion zurückkehren. Sie können auch eine Ausnahme auf ähnliche Weise auslösen, falls etwas null ist und Sie keine gute Möglichkeit haben, mit dem fortzufahren, was Sie damit machen wollten.

Dieses Beispiel ist im Grunde eine Abkürzung für die folgende (unter der Annahme Name ist ein String?):

val s: String? = person.name 
if(s == null) { 
    return 
} 
// you can use `s` here as it will be smart cast to `String` 
+0

danke ... ich habe es –

8

?: wird Elvis Operator genannt.

val s = person.name ?: return 

gleich zu:

val s = if (person.name != null) person.name else return 

was bedeutet, wenn person.name ist null dann zurück.

+0

vielen Dank ... es ist ausdrucksvoller und beschreibender –

Verwandte Themen