NullPointerException adalah error paling sering di ekosistem JVM. Kotlin menyelesaikan masalah ini lewat sistem tipe yang membedakan tipe nullable dan non-nullable sejak compile-time.
Pelajari perbedaan tipe non-nullable (String) dan nullable (String?) di Kotlin, serta bagaimana kompilator mencegah NullPointerException sejak compile-time.
Buka → # Nullable VariablesPelajari cara mendeklarasikan variabel nullable dengan val dan var, mengubah isinya sepanjang program, serta galat compile-time yang muncul saat menetapkan null ke tipe non-nullable.
Buka → # Safe Call OperatorPelajari operator safe call ?. di Kotlin untuk memanggil method pada variabel nullable tanpa risiko NullPointerException, termasuk perantaian (chaining) beberapa safe call.
Buka → # Elvis OperatorPelajari operator Elvis ?: di Kotlin untuk memberi nilai default saat ekspresi nullable menghasilkan null, termasuk penggunaan return dan throw di sisi kanan.
Buka → # Not-Null AssertionPelajari operator not-null assertion !! di Kotlin yang memaksa konversi tipe nullable menjadi non-nullable, serta risiko NullPointerException yang menyertainya.
Buka → # Safe CastPelajari operator safe cast as? di Kotlin yang mengembalikan null alih-alih melempar ClassCastException saat konversi tipe gagal.
Buka → # Smart CastsPelajari smart cast Kotlin yang mengubah tipe statis secara otomatis setelah pengecekan is atau != null, tanpa memerlukan cast eksplisit.
Buka → # Null CheckingPelajari pola pengecekan null di Kotlin menggunakan == null dan != null, serta bagaimana smart cast mengubah tipe nullable menjadi non-nullable di dalam blok pengecekan.
Buka → # let untuk Null HandlingPelajari penggunaan scope function let untuk mengeksekusi blok kode hanya bila nilai nullable tidak null, dengan parameter it yang berisi nilai non-nullable di dalam blok.
Buka → # Platform TypesPelajari platform types Kotlin yang muncul saat memanggil kode Java, di mana nullability tidak diketahui kompilator dan dapat menyebabkan NullPointerException bila tidak ditangani dengan benar.
Buka → # Null Safety Best PracticesPelajari praktik terbaik menangani nullable di Kotlin: prefer val non-nullable, gunakan Elvis untuk default, hindari !!, manfaatkan lateinit, dan pakai requireNotNull untuk pre-condition.
Buka →