Arrays.asList(E[] e)
trả về dạng xem của mảng dưới dạng List
, nhưng khi mảng là rỗng, nó sẽ ném một NullPointerException
.Mảng rỗng để trống danh sách
Arrays.asList(null); //NullPointerException.
Trên thực tế tôi đang làm
List list = possibleNullArray != null ? Arrays.asList(possibleNullArray) : Collections.EMPTY_LIST;
Tuy nhiên, tạo ra một lớp Utility trong dự án của tôi chỉ dành cho mục đích này là một điều mà tôi không muốn làm. Có một số lớp tiện ích, hoặc thư viện như Apache Commons hoặc Guava để chuyển đổi mảng trống thành rỗng List
? (tức là bộ chuyển đổi không an toàn giữa các mảng và Bộ sưu tập).
Bạn giải quyết vấn đề này như thế nào?
ofcourse bạn sẽ nhận được NPE bạn thiết lập nó như là một null, Arrays.asList(); chuyển đổi đối tượng của bạn thành danh sách mảng/mảng/mảng nếu im không nhầm. – Secondo
Là một sự lựa chọn tốt để sử dụng các bộ sưu tập rỗng o mảng độ dài không thay vì null, khi bạn có khả năng đọc được trong đầu. Im không discusing lý do tại sao Array.asList (null) ném một NullPointerException. Đây là một quyết định tồi tệ của người sáng tạo. Im hỏi về một lớp tiện ích hoặc thư viện để chuyển đổi các bộ sưu tập null arras o thành các mảng hoặc các bộ sưu tập rỗng. – Ezequiel
cố gắng nhìn vào câu trả lời của tôi – Secondo