Rumah  >  Artikel  >  Java  >  Ralat Java: Ralat Permulaan Tatasusunan, Cara Menyelesaikan dan Elakkan

Ralat Java: Ralat Permulaan Tatasusunan, Cara Menyelesaikan dan Elakkan

WBOY
WBOYasal
2023-06-24 12:46:371066semak imbas

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:

  1. Tatasusunan di luar sempadan

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])  // 数组下标越界
  1. Saiz tatasusunan yang salah

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;
  1. Type Mismatch

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

  1. Ralat luar sempadan 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("数组下标越界");
}
  1. Saiz tatasusunan yang salah

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;
  1. Type mismatch

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:

  1. Elakkan saiz tatasusunan berkod keras

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()返回的大小
  1. Gunakan pembolehubah yang dipratentukan

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];  // 预定义变量
  1. Menggunakan Java Collections

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn