Apabila menulis atur cara Java, tatasusunan ialah salah satu struktur data yang biasa digunakan. Walau bagaimanapun, jika anda memulakan tatasusunan dengan salah, program anda tidak akan berjalan dengan betul. Artikel ini akan memperkenalkan punca, penyelesaian dan petua untuk mengelakkan ralat sedemikian dalam pemulaan tatasusunan di Jawa.
1. Punca ralat pemula tatasusunan
Ralat pemula tatasusunan biasanya disebabkan oleh sebab berikut:
Apabila cuba mengakses lokasi yang tidak wujud dalam tatasusunan, tatasusunan di luar sempadan ralat akan berlaku. Contohnya:
int[] arr = new int[10]; System.out.println(arr[10]) // 数组下标越界
Jika saiz tatasusunan tidak betul atau tidak sepadan, ralat permulaan akan berlaku. Contohnya:
int[] arr = new int[] {1, 2, 3}; int[] arr2 = new int[2]; arr2 = arr; // 错误的数组大小
sepatutnya kelihatan seperti ini:
int[] arr = new int[] {1, 2, 3}; int[] arr2 = new int[arr.length]; arr2 = arr;
Jika anda cuba menyimpan nilai berlainan jenis dalam tatasusunan yang sama apabila memulakan tatasusunan, anda akan mendapat ralat jenis tidak padan. Contohnya:
int[] arr = new int[] {1, 2, "3"}; // 类型不匹配
sepatutnya seperti ini:
String[] arr = new String[] {"1", "2", "3"};
2. Bagaimana untuk menyelesaikan ralat permulaan tatasusunan
Jika ralat luar sempadan tatasusunan berlaku, menggunakan try -catch statement dalam program boleh menyelesaikan masalah. Sebagai alternatif, anda boleh menambah sekatan bersyarat untuk menentukan sama ada subskrip tatasusunan berada di luar had untuk mengelakkan pengecualian.
int[] arr = new int[10]; try { System.out.println(arr[10]); } catch (IndexOutOfBoundsException e) { System.out.println("数组下标越界"); }
Apabila mengisytiharkan dan memulakan tatasusunan, pastikan saiznya betul dan sesuai untuk menyimpan data yang diperlukan oleh program anda.
int[] arr = new int[] {1, 2, 3}; int[] arr2 = new int[arr.length]; // 相同大小的数组 arr2 = arr;
Apabila memulakan tatasusunan, pastikan semua elemen adalah nilai dari jenis yang sama. Jika anda perlu menggunakan nilai pelbagai jenis, gunakan pelbagai objek.
Object[] arr = new Object[] {1, 2, "3"}; // 对象数组
3. Bagaimana untuk mengelakkan ralat pemula tatasusunan
Untuk mengelakkan ralat pemulaan tatasusunan, anda perlu menguasai kemahiran berikut:
Saiz tatasusunan berkod keras bermaksud menentukan saiz tatasusunan tetap nombor apabila tatasusunan diisytiharkan. Pendekatan ini terdedah kepada ralat, jadi saiz tatasusunan yang dikira secara pemrograman hendaklah sentiasa digunakan.
int[] arr = new int[calculateSize()]; // 使用方法calculateSize()返回的大小
Apabila memulakan tatasusunan, gunakan pembolehubah yang dipratentukan untuk mewakili saiz tatasusunan atau sifat lain.
final int ARRAY_SIZE = 10; int[] arr = new int[ARRAY_SIZE]; // 预定义变量
Di Java, koleksi menyediakan cara yang fleksibel dan boleh dikembangkan untuk menyimpan dan memanipulasi data. Berbanding dengan tatasusunan, koleksi lebih sesuai untuk mengendalikan data dinamik. Oleh itu, dalam beberapa kes mungkin lebih baik menggunakan koleksi Java.
List<Integer> arr = new ArrayList<Integer>(); arr.add(1); arr.add(2); arr.add(3);
Kesimpulan
Dalam pengaturcaraan Java, adalah penting untuk mengelakkan kesilapan. Tatasusunan ialah salah satu struktur data penting dalam Java Inisialisasi tatasusunan yang salah akan menyebabkan atur cara gagal berjalan seperti biasa. Oleh itu, kesilapan sebegini perlu difahami dan dielakkan. Ralat sedemikian boleh didapati dengan lebih mudah dan diperbetulkan dengan menggunakan teknik seperti menggunakan pembolehubah yang dipratentukan, mengelakkan pengekodan keras dan menggunakan koleksi Java.
Atas ialah kandungan terperinci Ralat Java: Ralat Permulaan Tatasusunan, Cara Menyelesaikan dan Elakkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!