https://www.valuecoders.com/blog/wp-content/uploads/2019/04/javanewfeat-1.jpeg

Pada Java 7 ketas atau JDK 1.7 keatas, anda akan menemukan salah satu fitur baru, yaitu method requireNonNull(). Method ini terdapat pada kelas Objects yang merupakan turunan dari kelas Object.

Saya sendiri baru mengetahuinya padahal saat postingan ini dipublish, Java 10 sudah release. Ha3x betapa kudetnya saya.

Lalu apa kegunaan method Objects.requireNonNull()?

Nah, bagi programmer Java atau pengembang aplikasi android, selama ini kita tentu familiar dengan NullPointerException. Yaitu throwable exception yang dilemparkan ketika kita tak sengaja mengakses referensi objek yang bernilai null. Sungguh butuh ketelitian untuk menangani atau mengantisipasi terjadinya NullPointerException.

He3x jujur saja, pasti anda juga sering melakukan hal berikut ini untuk mengantisipasi NullPointerException.

Nah, jadi Objects.requireNonNull() ini gunanya adalah untuk null-safe atau dengan kata lain penanganan null yang lebih baik.

Jadi, jika misalkan

maka dijamin this.bar ini tidak akan null.

Lumayan kan? paling tidak, kode anda jadi lebih irit baris. Ha3x.

Nah, bagi yang menggunakan Android Studio 3.3.x ketas akan terasa terbantu sekali dengan adanya Lint Warning. Cara gampangnya tinggal ikuti saran dari Android Studio. Tinggal klik balon kuning, lalu value atau object yang berpotensi null akan terbungkus oleh Objects.requireNonNull() dengan sendirinya.

Lint Warning

Selamat mencoba, semoga bermanfaat.

Referensi:
https://stackoverflow.com/questions/45632920/why-should-one-use-objects-requirenonnull
https://docs.oracle.com/javase/7/docs/api/java/util/Objects.html#requireNonNull(T)
https://developer.android.com/reference/java/util/Objects.html#nonNull(java.lang.Object)

2 Comments

  1. mantap kak, saya juga kudet soal fitur ini.

    1. Hangga Aji Sayekti

      Eh, btw nama kita sama ya bro.. Haha..

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.