Tôi đã đọc về generics và tôi không hiểu sự cần thiết cho các ký tự đại diện không liên kết và cách nó khác với loại thô. Tôi đọc this question nhưng vẫn chưa hiểu rõ. Trong Java tutorial page for unbound wildcard tôi dưới hai điểm và tôi không hiểu điểm đầu tiên:Sự khác biệt giữa một ký tự đại diện không ràng buộc và một kiểu thô
- Nếu bạn đang viết một phương pháp có thể được thực hiện sử dụng chức năng cung cấp trong lớp
Object
.- Khi mã đang sử dụng các phương thức trong lớp chung không phụ thuộc vào thông số loại. Ví dụ:
List.size()
hoặcList.clear()
. Trên thực tế,Class<?>
thường được sử dụng vì hầu hết các phương pháp trongClass<T>
không phụ thuộc vàoT
.
Ai đó có thể giải thích sự khác biệt giữa ký tự đại diện không ràng buộc và loại thô trong ngôn ngữ của giáo dân.
List<?>
khác với List<Object>
như thế nào?
Lưu ý rằng cụm từ "loại thô" đề cập đến tham chiếu không tham số cho loại chung, ví dụ: 'Danh sách' so với' Danh sách > '. Các khái niệm hơi khác nhau. – Alex
Chỉ cần chỉ ra rằng 'Danh sách