Я прочитал всю книгу SCJP6 Sierra and Bates book, набрал 88% экзамена.
Но, тем не менее, я никогда не слышал о том, как работает такой код, поскольку он не объясняется в главе о дженериках:
Collections.<TimeUnit>reverseOrder()
Что такое использование дженериков? Я обнаружил это в каком-то коде, но ничего об этом не читал. Мне кажется, это позволяет оказать некоторую помощь в выводе типов. Я пытался искать об этом, но это не так просто найти (и это даже не в книге / экзамене SCJP!)
Так может ли кто-нибудь дать мне правильное объяснение того, как это работает, каковы все варианты использования и т. д.?
Спасибо
Редактировать Спасибо за ответы, но я ожидал более подробной информации :) поэтому, если кто-то хочет добавить дополнительную информацию:
Как насчет более сложных случаев, таких как
- Используя тип, объявленный в классе, могу ли я сделать что-то вроде
Collections.<T>reverseOrder()
, например? - Используете
extends
,super
? - Использование
?
- Предоставление компилятору только частичной помощи (т.е.
O.manyTypesMethod<?,MyHelpTypeNotInfered,?,?,?,?,?>()
)