Penyelesaian kepada Java IterationException
Apabila pengaturcaraan di Java, kita sering menghadapi masalah IterationException. Pengecualian ini biasanya berlaku apabila menggunakan Iterator atau gelung untuk dipertingkat untuk melintasi Koleksi atau tatasusunan.
Punca pengecualian lelaran biasanya disebabkan oleh pengubahsuaian pada koleksi atau tatasusunan semasa proses lelaran. Ini boleh mengakibatkan indeks atau penunjuk tidak sah semasa lelaran, sekali gus membuang pengecualian. Untuk menyelesaikan masalah ini, kita boleh mengambil kaedah berikut.
Berikut ialah kod sampel yang menggunakan gelung normal untuk menyelesaikan pengecualian lelaran:
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); for (int i = 0; i < list.size(); i++) { if (list.get(i) == 2) { list.remove(i); } } System.out.println(list); // 输出 [1, 3]
Berikut ialah contoh kod yang menggunakan kaedah remove() iterator untuk menyelesaikan pengecualian lelaran:
List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); Iterator<Integer> iterator = list.iterator(); while(iterator.hasNext()) { int num = iterator.next(); if(num == 2) { iterator.remove(); } } System.out.println(list); // 输出 [1, 3]
Berikut ialah kod sampel yang menggunakan koleksi serentak untuk menyelesaikan pengecualian lelaran:
ConcurrentList<Integer> list = new ConcurrentList<>(); list.add(1); list.add(2); list.add(3); for (Integer num : list) { if (num == 2) { list.remove(num); } } System.out.println(list); // 输出 [1, 3]
Ringkasan:
Dalam pengaturcaraan Java, pengecualian lelaran adalah masalah biasa. Untuk menyelesaikan masalah ini, kita boleh menggunakan gelung normal untuk bukannya gelung untuk dipertingkat, gunakan kaedah remove() lelaran atau gunakan koleksi serentak. Kaedah ini boleh membantu kami mengelakkan berlakunya pengecualian lelaran dan memastikan pelaksanaan program yang betul.
Tidak kira kaedah yang digunakan, kita harus memberi perhatian untuk mengelakkan pengubahsuaian koleksi atau tatasusunan semasa proses lelaran untuk mengelakkan pengecualian semasa proses lelaran. Piawaian pengekodan yang munasabah dan semakan kod yang teliti juga merupakan cara penting untuk mengelakkan anomali lelaran.
Atas ialah kandungan terperinci Penyelesaian untuk menyelesaikan pengecualian lelaran Java (IterationException). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!