Penyelesaian kepada pengecualian indeks data Java (IndexOutOfBoundsException)
Pengenalan:
Dalam pengaturcaraan Java, apabila elemen tatasusunan yang tidak wujud diakses atau indeks koleksi berada di luar julat, pengecualian IndexOutOfBounds.Exception Ini adalah kesilapan biasa yang sering dihadapi oleh ramai pemula. Artikel ini akan memperkenalkan cara untuk mengelakkan dan menyelesaikan pengecualian IndexOutOfBoundsException dengan beberapa penyelesaian mudah.
Contoh Kod 1:
int[] array = new int[5]; int index = 5; array[index] = 10; // 此处抛出IndexOutOfBoundsException异常
Dalam kod di atas, kami telah mencipta tatasusunan integer dengan panjang 5, tetapi apabila cuba memberikan nilai kepada elemen dengan indeks 5, pengecualian IndexOutOfBoundsException dilemparkan. Ini kerana indeks tatasusunan dikira bermula dari 0, jadi julat indeks tatasusunan yang sah hendaklah 0 hingga 4. Menyelesaikan masalah ini hanya memerlukan pengiraan indeks dengan betul.
Contoh kod 2:
int[] array = new int[5]; int index = 4; array[index] = 10; // 正确的索引赋值
Contoh Kod 3:
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); int index = 2; int value = list.get(index); // 此处抛出IndexOutOfBoundsException异常
Dalam kod di atas, kami telah mencipta ArrayList kosong dan cuba mendapatkan nilai elemen dengan indeks 2, tetapi kerana terdapat hanya dua elemen, mengakses elemen dengan indeks 2 membuang An Pengecualian IndexOutOfBoundsException berlaku. Untuk menyelesaikan masalah ini, anda boleh menentukan saiz atau panjang koleksi sebelum mengaksesnya.
Sampel kod 4:
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); int index = 1; if (index < list.size()) { int value = list.get(index); // 正确的访问 }
Kaedah 1: untuk kawalan gelung:
for (int i = 0; i < array.length; i++) { // 访问数组元素 }
Apabila menggunakan gelung for, kawal bilangan gelung dengan menggunakan panjang tatasusunan atau koleksi untuk memastikan ia tidak melebihi julat indeks.
Kaedah 2: kawalan gelung foreach:
for (int value : array) { // 访问数组元素 }
Apabila menggunakan gelung foreach, anda tidak perlu mengambil berat tentang julat indeks, kerana lapisan asas telah membuat pertimbangan yang berkaitan, jadi tidak akan ada pengecualian IndexOutOfBoundsException.
Ringkasnya, melalui pengiraan indeks yang betul, pertimbangan bukan nol dan kawalan gelung, kita boleh mengelak dan menyelesaikan pengecualian IndexOutOfBoundsException di Java. Penyelesaian mudah ini boleh meningkatkan keteguhan dan kebolehbacaan kod kami, dan juga boleh membantu kami mencari dan membetulkan ralat dengan lebih baik. Bagi pembangun program Java, menguasai kemahiran ini adalah sangat penting untuk meningkatkan kualiti dan kecekapan kod.
Rujukan:
Atas ialah kandungan terperinci Penyelesaian kepada pengecualian indeks data Java (IndexOutOfBoundsException). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!