Có, nó chỉ tạo các tham chiếu, được đặt thành giá trị mặc định null. Đó là lý do tại sao bạn nhận được một NullPulumException Bạn cần tạo các đối tượng riêng biệt và gán tham chiếu. Có 3 bước để tạo mảng trong Java -
Khai báo - Trong bước này, chúng tôi chỉ định kiểu dữ liệu và kích thước của mảng mà chúng tôi sẽ tạo. Nhưng hãy nhớ rằng, chúng tôi chưa đề cập đến kích thước của kích thước nào. Họ bị bỏ trống.
Khởi tạo - Trong bước này, chúng tôi tạo mảng hoặc phân bổ bộ nhớ cho mảng, sử dụng từ khóa mới. Trong bước này, chúng tôi đề cập đến kích thước của kích thước mảng.
Khởi tạo - Mảng luôn được khởi tạo thành giá trị mặc định của kiểu dữ liệu. Nhưng chúng ta có thể tự khởi tạo.
Khai báo mảng trong Java
Đây là cách chúng tôi khai báo mảng một chiều trong Java -
int[] array;
int array[];
Oracle khuyên bạn nên sử dụng cú pháp cũ để khai báo mảng. Dưới đây là một số ví dụ khác về tuyên bố pháp lý -
// One Dimensional Arrays
int[] intArray; // Good
double[] doubleArray;
// One Dimensional Arrays
byte byteArray[]; // Ugly!
long longArray[];
// Two Dimensional Arrays
int[][] int2DArray; // Good
double[][] double2DArray;
// Two Dimensional Arrays
byte[] byte2DArray[]; // Ugly
long[] long2DArray[];
Và đây là một số ví dụ về tuyên bố bất hợp pháp -
int[5] intArray; // Don't mention size!
double{} doubleArray; // Square Brackets please!
Khởi tạo
Đây là cách chúng tôi khởi tạo ngay lập tức, hoặc phân bổ bộ nhớ cho một mảng -
int[] array = new int[5];
Khi JVM gặp new
từ khóa, nó hiểu rằng nó phải phân bổ bộ nhớ cho một cái gì đó. Và bằng cách chỉ định int[5]
, chúng tôi có nghĩa là chúng tôi muốn có một mảng có int
kích thước 5. Vì vậy, JVM tạo bộ nhớ và gán tham chiếu của bộ nhớ mới được phân bổ cho mảng mà một loại tham chiếu của kiểu Edwardint[]
Khởi tạo
Sử dụng vòng lặp - Sử dụng vòng lặp for để khởi tạo các phần tử của một mảng là cách phổ biến nhất để đưa mảng đi. Không cần chạy vòng lặp for nếu bạn định tự gán giá trị mặc định, vì JVM thực hiện điều đó cho bạn.
Tất cả hợp lại thành một..! - Chúng tôi có thể khai báo, khởi tạo và khởi tạo mảng của chúng tôi trong một lần. Đây là cú pháp -
int[] arr = {1, 2, 3, 4, 5};
Ở đây, chúng tôi không đề cập đến kích thước, vì JVM có thể thấy rằng chúng tôi đang đưa ra 5 giá trị.
Vì vậy, cho đến khi chúng tôi khởi tạo các tài liệu tham khảo vẫn còn trống. Tôi hy vọng câu trả lời của tôi đã giúp bạn ..! :)