Java ialah bahasa pengaturcaraan yang digunakan secara meluas yang menyediakan banyak ciri dan perpustakaan berkuasa yang boleh membantu pembangun mencipta aplikasi yang kompleks dengan cepat. Walau bagaimanapun, dalam pengaturcaraan Java, terdapat beberapa ralat dan pengecualian yang boleh menyebabkan program ranap, dan ArrayIndexOutOfBoundsException adalah salah satu daripadanya.
ArrayIndexOutOfBoundsException ialah pengecualian masa jalan yang dilemparkan apabila program cuba mengakses lokasi yang tidak wujud dalam tatasusunan. Pengecualian ini menunjukkan bahawa tatasusunan telah melampaui batas atau percubaan telah dibuat untuk mengakses elemen yang tidak wujud. Secara umumnya, apabila program membuang pengecualian ArrayIndexOutOfBoundsException, ia biasanya disebabkan oleh ralat pengekodan.
Di Java, tatasusunan ialah himpunan unsur tersusun, setiap satunya boleh diakses melalui subskrip unik. Subskrip tatasusunan bermula dari 0 dan berakhir dengan panjang tatasusunan tolak 1. Jika percubaan dibuat untuk mengakses indeks di luar julat ini, ArrayIndexOutOfBoundsException akan berlaku.
Berikut ialah beberapa senario biasa yang menyebabkan pengecualian ini:
Apabila program cuba mengakses subskrip tatasusunan yang tidak wujud, pengecualian ArrayIndexOutOfBoundsException dilemparkan. Sebagai contoh, jika anda cuba mengakses tatasusunan dengan panjang 10, tetapi indeksnya ialah 11, pengecualian akan berlaku. Contohnya:
int[] numbers = new int[10]; int x = numbers[11]; // 抛出异常,下标超出范围
Subskrip tatasusunan hanya boleh menjadi integer bukan negatif. Jika anda cuba mengakses tatasusunan menggunakan indeks negatif, pengecualian ArrayIndexOutOfBoundsException dilemparkan. Contohnya:
int[] numbers = new int[10]; int x = numbers[-1]; // 抛出异常,下标为负数
Jika ralat berlaku semasa memulakan tatasusunan, ia mungkin menyebabkan pengecualian ArrayIndexOutOfBoundsException apabila mengakses tatasusunan itu. Contohnya:
int[] numbers = new int[-1]; // 抛出异常,数组长度为负数
Apabila menggunakan tatasusunan berbilang dimensi, pengecualian ArrayIndexOutOfBoundsException juga mungkin berlaku. Dalam kes ini, pengecualian biasanya disebabkan oleh mengakses elemen tatasusunan yang tidak wujud secara tidak sengaja. Contohnya:
int[][] numbers = new int[2][2]; int x = numbers[2][1]; // 抛出异常,第一个下标超出范围
Apabila atur cara melemparkan pengecualian ArrayIndexOutOfBoundsException, kita perlu menyemak kod tersebut terlebih dahulu untuk memastikan elemen yang tidak wujud tidak diakses atau julat panjang tatasusunan melebihi, dan kemudian nyahpepijat. Untuk mengelakkan pengecualian ini, kami mengesyorkan bahawa sebelum mengakses elemen tatasusunan, sentiasa semak panjang tatasusunan dan pastikan subskrip elemen tidak melebihi had.
Atas ialah kandungan terperinci Dalam senario apakah pengecualian ArrayIndexOutOfBoundsException dalam Java berlaku?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!