android, coding,

Fitur Baru JAVA 7 : Object.requireNonNull()

Hangga Aji Sayekti Hangga Aji Sayekti Follow May 16, 2019 · 1 min read
Fitur Baru JAVA 7 : Object.requireNonNull()
Share this

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.

if (viewMain == null) {
     viewMain = inflater.inflate(R.layout.fragment_main, container, false);
     ButterKnife.bind(this, viewMain);
     initialize();
}
if (mentions == null || mentions.isEmpty()) {
     throw new IllegalArgumentException("Appended Mentions cannot be null nor empty.");
}

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

Jadi, jika misalkan

this.bar = Objects.requireNonNull(bar, "bar must not be null");

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.

![](http://hangga.github.io/blog/wp-content/uploads/2019/05/ikih_null.png)
*Lint Warnin*g

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)

Hangga Aji Sayekti
Written by Hangga Aji Sayekti
A passionate Software Engineer from Indonesia with experience since 2008. Bachelor's degree in Mathematics and loves Science and Computers.