Menu
Coddy logo textTech

Operator Elvis

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

Operator bezpiecznego wywołania świetnie sprawdza się w 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, które może mieć wartość null, a następnie podaj wartość domyślną:

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

Jeśli lewa strona nie jest równa null, używana jest ta wartość. Jeśli jest równa null, wynikiem staje się prawa strona. Działa to doskonale 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 zawdzięcza swoją nazwę temu, że ?: z boku przypomina fryzurę Elvisa. Co ważniejsze, pozwala w przejrzysty sposób przekształcać typy dopuszczające wartość null na wartości niedopuszczające wartości null, używając sensownych wartości domyślnych.

challenge icon

Wyzwanie

Łatwy

Przesyłka ma opcjonalną etykietę śledzenia i opcjonalne miejsce docelowe. Kod początkowy udostępnia obie wartości dopuszczające null. Użyj ?:, aby wybrać "Pending", gdy brakuje etykiety śledzenia, i "Unassigned", gdy brakuje miejsca docelowego. Wypisz wybraną etykietę, a następnie wybrane miejsce docelowe, 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