mọi người cho mình hỏi là tại sao nó lại báo lỗi này mặc dù khi chạy nó không báo đỏ ở đâu ạ và cách fix ạ.Xin cám ơn
Lỗi mảng java nhưng netbeans không báo lỗi
Chưa khởi tạo (new) cho List<T>.
Đừng phản bác lại rằng: “Trong phương thức MyList() đã khởi tạo rồi”.
Có khởi tạo rồi, nhưng đã gọi chưa???
Chào bạn,
Lỗi này là NullPointerException, lỗi này xảy ra khi một biến kiểu object chưa có giá trị nhưng lại được gọi thực hiện một method.
Trong trường hợp của bạn, thuộc tính a của class GenericCar<T> chưa được gán giá trị nào nên sẽ ko thể thực hiện lời gọi hàm a.add(u[i]) (trong hàm addMany()).
Để sửa lỗi này, trước khi thực hiện bất cứ thao tác gì của class GenericCar<T>, bạn cần gán giá trị cho thuộc tính a bằng cách khởi tạo 1 ArrayList<>() và gán cho nó. Bạn có thể làm như sau
public GenericCar<T> {
List<T> a = new ArrayList<>();
...
}
Một cách làm khác là ở đây mình thấy có method MyList() đã thực hiện khởi tạo thuộc tính a, bạn có thể gọi method này trước khi gọi những method khác của GenericCar<T> để khởi tạo thuộc tính a.


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?