Tôi tự hỏi tại sao java.util.ArrayList
cho phép thêm null
. Có trường hợp nào tôi muốn thêm null
vào ArrayList
không?
Tôi đang hỏi câu hỏi này bởi vì trong một dự án, chúng tôi đã có một lỗi trong đó một số mã được thêm null
vào ArrayList
và thật khó để phát hiện ra lỗi đó ở đâu. Rõ ràng là a NullPointerException
đã bị ném nhưng cho đến khi mã khác cố gắng truy cập vào phần tử. Vấn đề là làm thế nào để xác định vị trí mã đã thêm null
đối tượng. Sẽ dễ dàng hơn nếu ArrayList
ném một ngoại lệ trong mã nơi các phần tử được thêm vào.
null
là cách mặc định để biểu thị dữ liệu bị thiếu trong Java, cho dù bạn có thích hay không. Trong thực tế, rất nhiều người không thích nó và biến nó thành một đối số cho những thứ theo kiểu lập trình chức năng. Câu trả lời được đánh giá cao nhất không có ý nghĩa / không nắm bắt được bản chất của vấn đề.
null
. "Mất tích" chỉ là một trong một số cách giải thích tiềm năng null
. Các cách hiểu hợp lệ khác có thể là "Không xác định", "Không áp dụng" hoặc "Chưa được khởi tạo". Những gì null
đại diện phụ thuộc vào ứng dụng. Như cộng đồng Python sẽ nói: "Trước sự mơ hồ, hãy từ chối sự cám dỗ để đoán." Từ chối giữ null trong một container hoàn toàn có khả năng làm như vậy sẽ chỉ là như vậy - một phỏng đoán.
null
ở hầu hết các bộ sưu tập của họ).