Operator Pemanggilan Aman
Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 14 dari 93.
Jika kamu memiliki variabel yang dapat bernilai null, kamu tidak bisa langsung memanggil method atau mengakses property pada variabel tersebut: compiler tidak akan mengizinkannya karena nilainya mungkin null. Operator pemanggilan aman ?. mengatasi masalah ini dengan elegan.
Alih-alih menggunakan titik biasa ., kamu menggunakan ?. untuk mengakses anggota tipe nullable dengan aman:
fun main() {
val name: String? = "Alice"
val length = name?.length // Mengembalikan 5
println(length)
val nullName: String? = null
val nullLength = nullName?.length // Mengembalikan null (tidak terjadi crash!)
println(nullLength)
}Operator pemanggilan aman memeriksa apakah nilai bernilai null sebelum mengakses property atau method. Jika nilai tersebut null, seluruh ekspresi mengembalikan null alih-alih mengalami crash. Jika nilainya ada, operator ini bekerja seperti pemanggilan biasa.
Kamu juga dapat merangkai beberapa pemanggilan aman sekaligus:
fun main() {
val text: String? = "Hello"
val result = text?.uppercase()?.length
println(result) // Mencetak: 5
}Jika bagian mana pun dari rantai bernilai null, seluruh ekspresi akan mengembalikan null dengan aman tanpa memunculkan error.
Tantangan
MudahKamu diberi variabel yang bisa bernilai null berikut:
val message: String? = "Kotlin"Gunakan operator pemanggilan aman untuk:
- Mendapatkan panjang
messagedan mencetaknya - Mengubah
messagemenjadi huruf kapital dan mencetak hasilnya
Lalu, buat variabel lain yang bisa bernilai null:
val empty: String? = nullGunakan operator pemanggilan aman untuk mendapatkan panjang empty dan mencetaknya.
Setiap hasil harus dicetak pada baris terpisah. Ingat: operator pemanggilan aman mengembalikan
nullsaat nilainyanull.
Coba sendiri
fun main() {
val message: String? = "Kotlin"
// TODO: Gunakan operator safe call untuk mendapatkan panjang message, lalu cetak hasilnya
// TODO: Gunakan operator safe call untuk mengubah message menjadi huruf kapital, lalu cetak hasilnya
val empty: String? = null
// TODO: Gunakan operator safe call untuk mendapatkan panjang empty, lalu cetak hasilnya
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPenugasan GabunganOperator PerbandinganRingkasan: Matematika Sederhana7Dasar input dan output
Fungsi PrintlnTemplate stringInput ReadLineKonversi Tipe DataRingkasan: Tahun hingga PensiunRingkasan: Benar atau Salah10Fungsi
Deklarasikan FungsiParameter dan ArgumenNilai KembalianArgumen BernamaNilai DefaultFungsi Ekspresi TunggalUlasan: Fungsi SigmaUlasan: Fungsi Validasi5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Operator Logika Bagian 3Ternary dengan Ekspresi ifRangkuman: Logika Sederhana8Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input11FizzBuzz dengan Sentuhan Unik
Gambaran Umum GameFungsi FizzBuzz3Kemungkinan Null
Apa Itu Keamanan NullTipe yang Dapat Bernilai NullOperator Pemanggilan AmanOperator ElvisDasar Tantangan FungsiPenegasan Bukan NullRangkuman: Akses Aman6Pengambilan Keputusan
Pernyataan IfIf - ElseIf sebagai EkspresiEkspresi WhenWhen dengan RentangUlasan - Kalkulator Sederhana9Perulangan
For loopWhile loopDo-while loopBreakContinueRentang dalam loopLoop BersarangRingkasan: FaktorialRingkasan: Input DinamisLatihan sendiri: Playground Kotlin