tôi đang chơi với Generic và mảng, có vẻ như đoạn mã sau biên dịch tốt,Array của Generic Danh sách
ArrayList<Key> a = new ArrayList<Key>();
Nhưng trình biên dịch phàn nàn về việc này,
ArrayList<Key>[] a = new ArrayList<Key>[10];
Bằng cách đọc bài trong stackoverflow , Tôi hiểu rằng điều này là do Loại xóa và tôi có thể sửa lỗi bằng cách sử dụng,
ArrayList<Key>[] a = (ArrayList<Key> []) new ArrayList[10];
hoặc danh sách liệt kê
ArrayList<ArrayList<Key>> b = new ArrayList<ArrayList<Key>>();
Nhưng tôi không thể tìm ra lý do đằng sau hiện trường. Đặc biệt, tại sao thứ hai là bất hợp pháp vì cái đầu tiên là hoàn toàn OK. Và tại sao trình biên dịch không phàn nàn về danh sách danh sách.
http://stackoverflow.com/questions/217065/cannot-create-an-array-of-linkedlists-in-java – tcb