Menu
CoddyTech

Operator Elvis

Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 15 z 93.

Operator bezpiecznego wywołania świetnie sprawdza się przy unikaniu awarii, ale czasami potrzebujesz rzeczywistej wartości zamiast null. Operator Elvis ?: pozwala podać wartość domyślną, gdy wyrażenie ma wartość null.

Składnia jest prosta: umieść ?: po wyrażeniu dopuszczającym wartość null, a następnie podaj wartość zastępczą:

fun main() {
    val name: String? = null
    val displayName = name ?: "Guest"
    println(displayName)  // Wypisuje: Guest
}

Jeśli lewa strona nie jest null, używana jest ta wartość. Jeśli jest null, wynikiem staje się prawa strona. To doskonale działa z bezpiecznymi wywołaniami:

fun main() {
    val text: String? = null
    val length = text?.length ?: 0
    println(length)  // Wypisuje: 0
    
    val greeting: String? = "Hello"
    val greetingLength = greeting?.length ?: 0
    println(greetingLength)  // Wypisuje: 5
}

Operator wziął swoją nazwę stąd, że ?: z boku przypomina fryzurę Elvisa. Co ważniejsze, pozwala w prosty sposób przekształcać typy dopuszczające wartość null w wartości niedopuszczające wartości null, z rozsądnymi wartościami domyślnymi.

challenge icon

Wyzwanie

Łatwy

Przesyłka ma opcjonalną etykietę śledzenia i opcjonalny cel. Kod początkowy udostępnia obie wartości nullable. Użyj ?:, aby wybrać "Pending", gdy brakuje etykiety śledzenia, oraz "Unassigned", gdy brakuje celu. Wypisz wybraną etykietę, a następnie wybrany cel, w osobnych wierszach.

Spróbuj swoich sił

fun main() {
    val trackingLabel: String? = null
    val destination: String? = "Harbor"
    // Wybierz i wypisz dwie wartości do wyświetlenia.
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Kotlin