Mari kita pertimbangkan kelas Parent
yang hanya berisi satu atribut Integer
. Saya membuat 6 objek kelas induk dan nilai atributnya adalah 100, 20, 300, 400, 500, null
.
Sekarang saya menambahkan semua objek ke daftar (Nama daftar adalah daftar). Lalu saya ingin mendapatkan objek yang nilai atributnya lebih besar dari 100
. Saya menggunakan aliran Java 8 untuk tujuan ini.
Predicate<Entity> predicate = e -> e.getParentId() < 100;
result = list.stream().filter(predicate).collect(Collectors.toList());
Saya juga ingin mengurutkan daftar dalam urutan menurun. Saya menggunakan kode berikut untuk tujuan ini.
Comparator<Entity> comp = (d1,d2) -> d2.getId().compareTo(d1.getId());
list.sort(comp);
Dalam kedua kasus saya mendapatkan NullPointerException
.
Bagaimana cara menangani ini?
e
itunull
, ataue.getParentId()
? Jikae.getParentId()
dideklarasikan sebagaiInteger
(tipe kotak), mungkin bernilai null. Namun kemudian jika diubah menjadiint
untuk dibandingkan dengan 100, hasilnya akan menjadiNullPointerException
jikanull
. - person ajb   schedule 08.07.2015