Java ialah bahasa pengaturcaraan berorientasikan objek Mekanisme pengendalian pengecualiannya sangat berkuasa dan terdapat banyak jenis pengecualian Antaranya, NullPointerException telah menarik banyak perhatian kerana ia sering berlaku dalam pembangunan. Artikel ini akan memperkenalkan sebab dan penyelesaian umum pengecualian NullPointerException.
NullPointerException ialah salah satu pengecualian yang paling biasa dalam Java Pengecualian ini dilemparkan apabila rujukan adalah batal apabila mengendalikan objek. Dalam erti kata lain, apabila kita cuba memanggil objek yang tidak wujud, atau apabila kita memanggil kaedah objek, objek itu kosong, dan NullPointerException akan berlaku.
Sesuatu objek kosong (null), yang merupakan punca paling biasa NullPointerException. Dalam kod berikut, objek str ialah objek kosong Apabila kita memanggil kaedah length() str, pengecualian NullPointerException akan dilemparkan.
String str = null;
str.length();
Jika objek tidak dimulakan, NullPointerException juga akan dilemparkan.
Sebagai contoh, dalam kod berikut, tatasusunan integer dengan panjang 5 dicipta, tetapi tiada unsurnya telah dimulakan Apabila kita mengakses nilai atribut di dalamnya, NullPointerException akan dilemparkan kerana ia belum telah dimulakan.
int[] nums = new int[5];
System.out.println(nums[0]);
Apabila kita cuba mengakses objek yang telah dikeluarkan, ia akan juga dilemparkan A NullPointerException berlaku.
Sebagai contoh, dalam kod berikut, rujukan yang menunjuk kepada str objek rentetan diberikan null. NullPointerException dilemparkan apabila kita cuba memanggil kaedah str.
String str = "hello world";
str = null;
str.toUpperCase();
Objek bukan nol memanggil kaedah nol juga boleh menyebabkan pengecualian NullPointerException.
Sebagai contoh, dalam kod berikut, jika objek bukan nol memanggil kaedah null, NullPointerException akan dilemparkan.
String str = "hello world";
str = null;
System.out.println(str.indexOf("world"));
Penyelesaian:
if (str != null) {
System.out.println(str.length());
System.out.println(nums[0]);
cuba {
System.out.println(str.length());
e.printStackTrace(); System.out.println("str为空对象!");
Atas ialah kandungan terperinci Apakah punca biasa NullPointerException di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!