Jambu Biji - Sekilas
Apa itu Jambu Biji?
Guava adalah pustaka open source berbasis Java dan berisi banyak pustaka inti Google, yang digunakan di banyak proyek mereka. Ini memfasilitasi praktik pengkodean terbaik dan membantu mengurangi kesalahan pengkodean. Ini menyediakan metode utilitas untuk koleksi, caching, dukungan primitif, konkurensi, anotasi umum, pemrosesan string, I / O, dan validasi.
Manfaat Jambu Biji
Standardized - Perpustakaan Guava dikelola oleh Google.
Efficient - Ini adalah ekstensi yang andal, cepat, dan efisien untuk pustaka standar Java.
Optimized - Perpustakaan sangat dioptimalkan.
Functional Programming - Ini menambahkan kemampuan pemrosesan fungsional ke Java.
Utilities - Ini menyediakan banyak kelas utilitas yang secara teratur diperlukan dalam pengembangan aplikasi pemrograman.
Validation - Ini menyediakan mekanisme validasi gagal aman standar.
Best Practices - Ini menekankan pada praktik terbaik.
Perhatikan cuplikan kode berikut.
public class GuavaTester {
public static void main(String args[]) {
GuavaTester guavaTester = new GuavaTester();
Integer a = null;
Integer b = new Integer(10);
System.out.println(guavaTester.sum(a,b));
}
public Integer sum(Integer a, Integer b) {
return a + b;
}
}
Jalankan programnya untuk mendapatkan hasil sebagai berikut.
Exception in thread "main" java.lang.NullPointerException
at GuavaTester.sum(GuavaTester.java:13)
at GuavaTester.main(GuavaTester.java:9)
Berikut ini adalah masalah dengan kode tersebut.
sum () tidak menangani parameter apa pun yang akan diteruskan sebagai null.
fungsi pemanggil juga tidak khawatir tentang melewatkan null ke metode sum () secara tidak sengaja.
Saat program berjalan, NullPointerException terjadi.
Untuk menghindari masalah di atas, pemeriksaan nol harus dilakukan di setiap tempat di mana masalah tersebut muncul.
Mari kita lihat penggunaan Opsional, kelas Utilitas yang disediakan Jambu, untuk memecahkan masalah di atas dengan cara standar.
import com.google.common.base.Optional;
public class GuavaTester {
public static void main(String args[]) {
GuavaTester guavaTester = new GuavaTester();
Integer invalidInput = null;
Optional<Integer> a = Optional.of(invalidInput);
Optional<Integer> b = Optional.of(new Integer(10));
System.out.println(guavaTester.sum(a,b));
}
public Integer sum(Optional<Integer> a, Optional<Integer> b) {
return a.get() + b.get();
}
}
Jalankan programnya untuk mendapatkan hasil sebagai berikut.
Exception in thread "main" java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:210)
at com.google.common.base.Optional.of(Optional.java:85)
at GuavaTester.main(GuavaTester.java:8)
Mari kita pahami konsep penting dari program di atas.
Optional - Kelas utilitas, untuk membuat kode menggunakan null dengan benar.
Optional.of- Ini mengembalikan instance kelas Opsional untuk digunakan sebagai parameter. Ia memeriksa nilai yang diteruskan, bukan menjadi 'null'.
Optional.get - Ini mendapat nilai input yang disimpan di kelas Opsional.
Dengan menggunakan kelas Opsional, Anda dapat memeriksa apakah metode pemanggil meneruskan parameter yang tepat atau tidak.