Tôi đang đọc thẻ hoang dã đa cấp từ AngelikaLangerGenericsFaq. Tôi khá bối rối về cú pháp. Tài liệu này nóiThẻ hoang dã đa cấp là gì? Lẫn lộn trong cú pháp
Loại
Collection<Pair<String,?>>
là một instantiation cụ thể của giao diện Bộ sưu tập chung. Nó là một bộ sưu tập khác nhau của cặp các loại khác nhau. Nó có thể chứa các thành phần thuộc loạiPair<String,Long>
,Pair<String,Date>
,Pair<String,Object>
,Pair<String,String>
, v.v. Nói cách khác,Collection<Pair<String,?>>
chứa hỗn hợp các loại khác nhau của biểu mẫuPair<String,?>
.Loại
Collection<? extends Pair<String,?>>
là ký tự đại diện loại tham số; nó KHÔNG đứng cho một loại tham số cụ thể là . Nó đại diện cho một đại diện từ gia đình của bộ sưu tập tức là giao diện Bộ sưu tập, trong đó đối số loại có dạngPair<String,?>
. Tương thích tức thì làCollection<Pair<String,Long>>
,Collection<Pair<String,String>>
,Collection<Pair<String,Object>>
hoặcCollection<Pair<String,?>>
. Trong các từ khác, chúng tôi không biết được Bộ sưu tập nào là Bộ sưu tập mà nó là viết tắt của.Theo quy tắc chung, bạn phải đọc từ điển đa cấp từ trên xuống dưới.
Tôi nhầm lẫn về các điểm sau đây.
- Ai đó có thể xây dựng trên ba trích dẫn này với ví dụ. Tôi hoàn toàn bị mất vào cú pháp
- Tài liệu nói, para-1 là sự khởi tạo cụ thể của một loại chung chung và khác không phải là sự khởi tạo cụ thể? Làm như thế nào?
- Có nghĩa là gì khi đọc thẻ từ trên xuống dưới?
- Lợi thế của thẻ hoang dã đa cấp là gì?
Ai đó có thể giải thích những điểm này. Cảm ơn.
cảm ơn rohit vì lời giải thích chi tiết như vậy. Cho phép xem Bộ sưu tập>, nó bao gồm một ký hiệu thẻ hoang dã sau đó làm thế nào nó có thể được cụ thể, trình biên dịch sẽ không biết những gì các loại khác. Làm thế nào chúng ta có thể gọi nó là cụ thể sau đó? –
benz
@benz. Tôi chỉ cần thêm một lời giải thích về điều đó. Vui lòng kiểm tra chỉnh sửa. –
Giải thích tuyệt vời Rohit. Cảm ơn bạn. Tôi có một số nghi ngờ trong cùng một chủ đề, tôi đang hoàn thành và sẽ chỉnh sửa câu hỏi bởi vì nó là khá có liên quan để thêm chúng ở đây. – benz