Home Android Null Safety pada Kotlin

Null Safety pada Kotlin

0
Null Safety pada Kotlin

Heyyoo gengs! Pada kali ini saya akan mengenalkan kepada kalian tentang Null Safety pada Kotlin. Seperti yang sudah sering diceritakan banyak orang, Kotlin memang ditargetkan untuk menghilangan bahaya dari null, mungkin yang udah pakai Java udah sering kena NullPointerException.

Null Safety adalah salah satu fitur di bahasa pemrograman Kotlin ,yang dimana untuk mencegah potensi terjadinya null , atau tidak adanya nilai atau value , karena NullPointerException. Di bahasa pemrograman Kotlin , sistem secara otomatis akan membedakan , referensi yang dapat menahan null (nullable references ) , dengan yang tidak dapat menahan null ( non-null references).

Macam-macam Null Safety

  • Safe Calls

Pilihan lainnya kita bisa menggunakan yang dikenal dengan safe calls, yaitu dengan menandai dengan tanda tanya ?.

b?.length

Kode tersebut hanya akan dieksekusi hanya jika b tidaklah null.

  • Elvis Operator

Elvis operator mirip seperti safe calls, hanya saja pada elvis operator jika ditemukan null, maka kita bisa mendefinisikan value yang bukan null.

b?.length ?: -1

Jika ternyata nilai dari b adalah null,maka nilai yang dikembalikan adalah -1.

  • Operator

Operator ini dikenal dengan not-null assertion operator atau bisa disebut dengan nyolot operator. Karena dengan menggunakan operator ini kita yakin kalau nilainya tidak mungkin null dan tentu kita masih terancam oleh NPE.

val l = b!!.length

Nah itu adalah cara untuk menakses variabel yang mungkin null.

  • Safe Casts

Semisal kita ingin cast suatu variabel yang mungkin null, jika kita menggunakan casting yang biasa mungkin akan terjadi ClassCastException, maka kita bisa menggunakan safe casts.

val aInt: Int? = a as? Int

  • Cek dengan Kondisi

Kita bisa melakukan pengecekan dengan menggunakan kondisi seperti misalnya if.

if (b != null) {
print(b)
else {
print(“variabel b adalah null:)
}

Okey, sekian dulu pembahasan saya tentang Pengenalan Null Safety pada Kotlin.

Sampai jumpa pada kesempatan berikutnya. Bye…