Tôi muốn decare hai Danh sách: Đầu tiên là danh sách các số nguyên. Tôi quyết định nó là:Tại sao sự khác biệt trong việc khai báo Danh sách chung?
List<Integer> ints= Arrays.asList(1,2,3);
Nó hoạt động tốt.
Thứ hai là danh sách Đối tượng. Tôi tuyên bố nó là:
List<Object> objs= Arrays.asList(1,2.13,"three");
Nhưng nó sẽ gây ra lỗi trong nhật thực ngay sau khi tôi viết. Lỗi này là:
Multiple markers at this line
- Type mismatch: cannot convert from List<Object&Comparable<?>&Serializable> to
List<Object>
- Type safety: A generic array of Object&Comparable<?>&Serializable is created for
a varargs parameter
Thay vào đó nếu tôi viết
List<Object> objs = Arrays.<Object>asList(1,2.13,"three");
Nó hoạt động tốt.
Tôi không thể tìm ra lý do.
OK. Cảm ơn lời giải thích cực kỳ tốt. Đây sẽ là một quy tắc vàng để áp dụng trong trường hợp nhầm lẫn như vậy. –