2008-12-07 51 views

Trả lời

22

phiên bản này:

<? extends Number> 

có thể xuất hiện theo một kiểu/kiểu không chung chung, và về cơ bản nó có nghĩa là "Tôi không quan tâm loại đó là gì, miễn là nó có nguồn gốc từ Number. Tôi sẽ không để thực sự sử dụng các loại, tôi chỉ cần nó cho phù hợp "

phiên bản này:..

<E extends Number> 

đòi hỏi E là một tham số kiểu Nó cho phép bạn làm nhiều hơn (ví Ví dụ, tạo ra một ArrayList<E> sau này) nhưng tham số kiểu bổ sung có thể làm cho mọi thứ trở nên phức tạp hơn khi bạn không thực sự cần chúng.

+0

Chính thức hơn, nói thứ hai là tham số kiểu chính thức Định nghĩa, trong khi đầu tiên chỉ đơn giản là một tham số definiton? –

+0

Nó sẽ là đúng để nói rằng bạn nên sử dụng định nghĩa thứ hai chỉ wh vi bạn cần tham khảo loại (thông qua 'bí danh' E)? –

+0

Tôi không muốn nói trên bình luận đầu tiên mà không cần tham khảo thông số kỹ thuật (và tôi đi ngủ trong một phút). Bình luận thứ hai có vẻ hợp lý. Kiểm tra những gì Josh Bloch đã nói trong Java hiệu quả - ông có thể bao gồm nó :) –

Các vấn đề liên quan