Menu
CoddyTech

Operator Elvis

Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 15 dari 93.

Operator pemanggilan aman sangat berguna untuk menghindari crash, tetapi terkadang kamu membutuhkan nilai yang sebenarnya, bukan null. Operator Elvis ?: memungkinkan kamu memberikan nilai default saat suatu ekspresi bernilai null.

Sintaksnya sederhana: letakkan ?: setelah ekspresi nullable, lalu ikuti dengan nilai fallback:

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

Jika sisi kiri tidak null, nilai tersebut akan digunakan. Jika null, sisi kanan menjadi hasilnya. Ini berfungsi dengan baik bersama pemanggilan aman:

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

Operator ini mendapatkan namanya karena ?: terlihat seperti rambut Elvis jika dilihat dari samping. Lebih penting lagi, operator ini memberimu cara yang rapi untuk mengubah tipe yang dapat bernilai null menjadi nilai yang tidak dapat bernilai null, dengan nilai default yang masuk akal.

challenge icon

Tantangan

Mudah

Sebuah paket memiliki label pelacakan opsional dan tujuan opsional. Kode awal menyediakan kedua nilai nullable. Gunakan ?: untuk memilih "Pending" saat label pelacakan tidak tersedia dan "Unassigned" saat tujuan tidak tersedia. Cetak label yang dipilih, lalu tujuan yang dipilih, pada baris terpisah.

Coba sendiri

fun main() {
    val trackingLabel: String? = null
    val destination: String? = "Harbor"
    // Pilih dan cetak kedua nilai yang akan ditampilkan.
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Kotlin