NullPointerException yang ditemui dalam proyek ini dibagi menjadi dua situasi:
1. Referensi objek kosong, yaitu memanggil metode objek kosong atau merujuk ke properti objek kosong.
2. Tetapkan kelas enkapsulasi tipe dasar di 8 ke kelas dasar yang sesuai.
1. Kita perlu membuat penilaian non-null pada objek yang dikembalikan oleh antarmuka orang lain, karena kita tidak tahu apakah objek yang diperoleh akan kosong. Untuk Collection Map, saya biasanya memanggil CollectionUtils MapUtils akan memanggil StringUtils.isNotEmpty() untuk melakukan penilaian tidak kosong. Diantaranya, isNotEmpty tidak hanya menilai NULL tetapi juga menilai himpunan kosong dan string kosong. Misalnya, hasil query dari data. URL harga dikembalikan dalam alur kerja
2. Untuk objek yang Anda buat, Anda harus memperhatikan operasi apa yang dilakukan objek tersebut, dan apakah objek tersebut akan kosong di tengahnya. Jika memungkinkan, tambahkan penilaian bukan nol, terutama untuk operasi pengumpulan, mudah untuk melaporkan penunjuk nol! ! ! Jadi setiap kali saya mengoperasikan suatu koleksi, saya akan sangat berhati-hati.
3. Berhati-hatilah dengan objek bidang di latar depan, karena objek ini dibuat oleh kerangka kerja. Jika saya tidak memasukkan nilai dalam kotak teks di latar depan, meskipun backend akan mendapatkan string kosong saat mengirimkan, kemungkinannya. NullPointerException sangat tinggi.
4. Untuk operasi String, coba gunakan kelas StringUtils dari Apache. Dibandingkan dengan String, ini sangat aman. Untuk operasi pengumpulan, gunakan CollectionUtils dan MapUtils dari Apache. Dibandingkan dengan kelas alat Apache, efisiensi eksekusi juga sangat tinggi, seperti StringUtils.split();
Beberapa orang mengatakan bahwa terlalu banyak penilaian akan mempengaruhi kinerja. Menurut saya pribadi, pengorbanan kinerja di sini dapat diabaikan dibandingkan dengan keamanan sistem.