Java: Дженерики
Теория: Обобщенные методы
Методы, работающие с обобщенными типами, называются обобщенными методами. В предыдущих уроках мы разбирали тип Pair, в котором все методы именно такие:
В отличие от самого класса, работа с такими методами не требует указания параметра типа, так как он уже был задан при создании объекта.
Дженерики могут выступать в качестве параметров типа. Как в качестве параметров метода, так и возвращаемого значения. Для демонстрации реализуем два метода.
copy() - метод, который создает и возвращает наружу копию пары. Пример использования:
Реализация:
replaceWith(), который заменяет содержимое пары данными из пары, переданной как параметр. Пример использования:
Реализация:
В одном случае дженерик выступал в качестве параметра, в другом в качестве возвращаемого значения. Все это можно использовать одновременно, причем в совершенно разных конфигурациях, вкладывая дженерики друг в друга настолько насколько нужно. Иногда получаемые конструкции настолько сложны, что понадобится немало времени на их понимание. К счастью, большая часть такого кода находится внутри библиотек, которые уже написаны.
Параметры типов у методов
У обобщенных методов могут быть свои параметры типов, которых нет в классе. Это бывает нужно, когда мы хотим работать с параметром метода, тип которого может отличаться от параметра типа класса. В таком случае, в определение метода добавляется кусок кода с угловыми скобками перед типом возвращаемого значения.
Использование:
Более того, обобщенные методы могут присутствовать в классах, которые не являются дженериками.



