Khi tôi khởi tạo List, tôi có thể làm điều này:rắc rối khởi Danh sách <Object[]> Sử dụng Arrays.asList
List<Object[]> foo = new ArrayList<>();
foo.add(new Object[]{816, "foo", 2.6});
Nhưng khi tôi muốn đơn giản hóa nó bằng cách sử Arrays.asList
:
List<Object[]> bar = Arrays.asList(new Object[]{"bar", 286});
Nó không thể biên dịch có lỗi:
incompatible types: inference variable T has incompatible bounds
equality constraints: java.lang.Object[]
lower bounds: java.lang.Object
Tại sao nó không thể thực hiện đúng suy luận kiểu và cách sửa lỗi này?
https://stackoverflow.com/questions/1248763/arrays-aslist-of-an-array –
Là nguyên tắc chung chung, không bao giờ trộn chung và mảng. (Bạn được phép bỏ qua quy tắc này một khi bạn hiểu tại sao đó là nguyên tắc tốt ngay từ đầu.) –