Pemanggilan Aman dan Elvis
Operator ?. dan ?:
Pemanggilan Aman dan Elvis adalah pelajaran Kotlin Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kotlin Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Academy mencakup 4 pelajaran total.
Menangani Nilai yang Dapat Bernilai Null dengan Rapi
Menulis if (x != null) di mana-mana akan menjadi panjang. Kotlin menyediakan dua operator ringkas untuk nilai yang dapat bernilai null:
- pemanggilan aman
?. - operator Elvis
?:
Operator Pemanggilan Aman
Pemanggilan aman ?. memanggil metode atau membaca properti hanya jika nilainya tidak null. Jika tidak, seluruh ekspresi menghasilkan null.
Tidak ada kerusakan dan tidak ada pemeriksaan eksplisit.
fun main() {
val name: String? = "Kotlin"
println(name?.length)
}Pemanggilan Aman pada Null
Saat penerimanya berupa null, pemanggilan aman berhenti lebih awal dan mengembalikan null alih-alih menimbulkan kesalahan.
Inilah perbedaan utama dari pemanggilan titik biasa.
fun main() {
val name: String? = null
println(name?.length)
}Merangkai Pemanggilan Aman
Pemanggilan aman dapat dirangkai. Jika salah satu tautan dalam rangkaian berupa null, seluruh hasilnya menjadi null.
Dengan demikian, pemeriksaan null yang bertingkat dalam dapat dihindari.
fun main() {
val text: String? = "hello world"
val result = text?.uppercase()?.substring(0, 5)
println(result)
}Operator Elvis
Operator Elvis ?: menyediakan nilai pengganti saat sisi kiri berupa null.
Bacalah sebagai: gunakan nilai kiri, atau gunakan nilai kanan.
fun main() {
val name: String? = null
val display = name ?: "Guest"
println(display)
}Elvis dengan Nilai Nyata
Jika sisi kiri tidak null, operator Elvis cukup mengembalikannya dan mengabaikan nilai pengganti.
Nilai pengganti hanya digunakan saat nilainya tidak ada.
fun main() {
val name: String? = "Sam"
val display = name ?: "Guest"
println(display)
}Menggabungkan Pemanggilan Aman dan Elvis
Kedua operator ini sering digunakan bersama. Pemanggilan aman dapat menghasilkan null, lalu Elvis menyediakan nilai bawaan.
Ini adalah salah satu idiom Kotlin yang paling umum.
fun main() {
val name: String? = null
val length = name?.length ?: 0
println(length)
}Elvis untuk Pengembalian Awal
Sisi kanan Elvis dapat berupa return atau throw. Ini adalah cara yang rapi untuk keluar lebih awal saat suatu nilai tidak ada.
Jika id berupa null, fungsi langsung mengembalikan nilai.
fun process(id: String?) {
val safeId = id ?: return
println("Processing " + safeId)
}
fun main() {
process("A-100")
process(null)
println("done")
}Pemanggilan Aman dengan let
Gabungkan ?. dengan let untuk menjalankan blok hanya saat nilainya tidak null.
Di dalam blok, it merujuk pada nilai yang tidak bernilai null.
fun main() {
val name: String? = "Kotlin"
name?.let {
println("Length is " + it.length)
}
}Angka Bawaan dengan Elvis
Elvis berguna untuk mengubah angka yang dapat bernilai null menjadi nilai bawaan yang aman sebelum melakukan perhitungan.
Di sini, jumlah yang bernilai null menjadi 0 sehingga perhitungan selalu dapat dilakukan.
fun main() {
val count: Int? = null
val total = (count ?: 0) + 5
println(total)
}Menggabungkan Semuanya
Bersama-sama, operator ini menggantikan pemeriksaan null yang panjang:
?.hanya memanggil saat nilainya tidak null?:menyediakan nilai pengganti saat nilainya null- Perangkaian dan
letmembuat alur yang kompleks menjadi ringkas
fun main() {
val input: String? = null
val name = input?.trim()?.uppercase() ?: "UNKNOWN"
println(name)
}Pemeriksaan Cepat
Uji pemahaman Anda tentang pemanggilan aman dan Elvis.
Ringkasan
Anda telah mempelajari dua operator penting untuk menangani nilai null:
- Pemanggilan aman
?.mengembalikan null, bukan menyebabkan program gagal - Elvis
?:menyediakan nilai cadangan - Keduanya dapat dipadukan dengan baik dengan
letdan pengembalian awal
Selanjutnya Anda akan melihat operator !! dan alasan operator ini harus digunakan dengan hati-hati.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pemanggilan Aman dan Elvis” gratis?
Ya — teks lengkap “Pemanggilan Aman dan Elvis” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pemanggilan Aman dan Elvis”?
Operator ?. dan ?: Kamu berlatih Kotlin Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Kotlin Academy?
Tidak diperlukan pengalaman sebelumnya. Kotlin Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Pemanggilan Aman dan Elvis” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Kotlin Academy ini?
Ya. Setiap pelajaran Kotlin Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Tipe Nullable dan Non-Null
- Pemanggilan Aman dan Elvis
- Operator !!
- Tipe Platform