0Pricing
Android Academy · Pelajaran

Keamanan Nilai Null

Pahami sistem keamanan nilai null Kotlin: tipe yang dapat bernilai null, operator pemanggilan aman, operator Elvis, dan cara menghilangkan NullPointerExceptions.

Keamanan Nilai Null adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 1 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 Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.

Kesalahan Bernilai Miliaran Dolar

Dalam Java, variabel apa pun dapat bernilai null, sehingga menyebabkan NullPointerException (NPE) saat runtime — salah satu penyebab kerusakan yang paling umum pada aplikasi Android.

Tony Hoare, penemu null, menyebutnya sebagai kesalahan bernilai miliaran dolar.

Kotlin menghilangkan NPE saat kompilasi melalui sistem keamanan terhadap null.

Nullable vs Non-Nullable

Dalam Kotlin, tipe secara default adalah non-nullable. Untuk mengizinkan null, tambahkan ? pada tipe:

  • String — tidak pernah null, dijamin
  • String? — dapat bernilai null

Kompilator menegakkan aturan ini — Anda tidak dapat menetapkan null ke tipe non-nullable.

Contoh Tipe Nullable

Kompilator menemukan kesalahan null sebelum aplikasi Anda dijalankan:

fun main() {
    val name: String = "Alice"   // never null
    // name = null  // COMPILE ERROR

    var nickname: String? = "Al"  // nullable
    nickname = null               // OK

    println(name)
    println(nickname)  // null
}

Operator Pemanggilan Aman ?.

Operator pemanggilan aman ?. memanggil metode hanya jika objek tidak null. Jika objek tersebut null, operator ini mengembalikan null alih-alih menyebabkan kerusakan.

nickname?.length → mengembalikan panjangnya, atau null jika nickname bernilai null.

Pemanggilan Aman dalam Praktik

Gunakan ?. untuk mengakses properti nullable dengan aman:

fun main() {
    var text: String? = "Hello"
    println(text?.length)   // 5
    println(text?.uppercase()) // HELLO

    text = null
    println(text?.length)   // null (no crash!)
    println(text?.uppercase()) // null
}

Operator Elvis ?:

Operator Elvis ?: menyediakan nilai default ketika sebuah ekspresi bernilai null:

val len = text?.length ?: 0

Bacalah sebagai: "panjang text, atau 0 jika text bernilai null".

Namanya diambil dari emoji Elvis 🕺 yang rambutnya menyerupai ?:.

Contoh Operator Elvis

Berikan nilai default yang aman dengan ?::

fun main() {
    var name: String? = "Bob"
    println(name?.length ?: 0)  // 3

    name = null
    println(name?.length ?: 0)  // 0

    val display = name ?: "Anonymous"
    println(display)  // Anonymous
}

Pemeriksaan Null dengan if

Di dalam blok if (x != null), Kotlin secara otomatis mengubah tipe nullable menjadi non-nullable melalui smart cast — Anda tidak perlu menggunakan ?. di dalam blok tersebut.

Contoh Smart Cast

Kotlin mempersempit tipe setelah pemeriksaan null:

fun printLength(text: String?) {
    if (text != null) {
        // 'text' is now String (non-nullable) here
        println("Length: ${text.length}") // no ?. needed
    } else {
        println("text is null")
    }
}

fun main() {
    printLength("Kotlin")  // Length: 6
    printLength(null)       // text is null
}

Pemeriksaan Singkat

Menjadi apa hasil evaluasi null?.length ?: -1?

Ringkasan: Keamanan terhadap Null

Sistem keamanan terhadap null di Kotlin menghilangkan NPE:

  • Tipe secara default adalah non-nullable; tambahkan ? untuk mengizinkan null
  • ?. pemanggilan aman — mengembalikan null alih-alih menyebabkan kerusakan
  • ?: operator Elvis — menyediakan nilai default saat null
  • Smart cast di dalam blok if (x != null)

Berikutnya: menyusun kode dengan class dan objek.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Keamanan Nilai Null” gratis?

Ya — teks lengkap “Keamanan Nilai Null” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Keamanan Nilai Null”?

Pahami sistem keamanan nilai null Kotlin: tipe yang dapat bernilai null, operator pemanggilan aman, operator Elvis, dan cara menghilangkan NullPointerExceptions. Kamu berlatih Android 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 Android Academy?

Tidak diperlukan pengalaman sebelumnya. Android 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 1 dari 4.

Berapa lama pelajaran “Keamanan Nilai Null” 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 Android Academy ini?

Ya. Setiap pelajaran Android 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

  1. Keamanan Nilai Null
  2. Kelas & Objek
  3. Kelas Data & Kelas Sealed
  4. Fungsi Ekstensi & Fungsi Orde Tinggi
← Kembali ke Android Academy