определение обобщенного общего типа в Java - PullRequest
21 голосов
/ 08 декабря 2008

В чем разница между следующими определениями типов

<E extends Number>

и

<? extends Number>

Ура, Дон

1 Ответ

22 голосов
/ 08 декабря 2008

Эта версия:

<? extends Number> 

может появляться в неуниверсальном методе / типе, и это в основном означает: «Мне все равно, что это за тип, пока он происходит от Number. Я не собираюсь действительно использовать тип, Мне просто нужно, чтобы это было уместно. "

Эта версия:

<E extends Number>

требует, чтобы E был параметром типа. Это позволяет вам делать больше (например, позже создать ArrayList<E>), но дополнительный параметр типа может усложнить ситуацию, когда вам не нужно, чтобы они были.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...