Параметризованный тип в Java, часто называемый дженериком (Generics), позволяет определить классы, интерфейсы и методы с параметрами типов. Это повышает безопасность типов во время compile-time и устраняет необходимость в приведениях типов.
Примером параметризованного типа является List<T>, где T является параметром типа, который будет заменен фактическим типом при использовании List.
Преимущества параметризованных типов:
Синтаксис:
Объявление класса с параметром типа:
java
Создание экземпляра параметризованного типа:
java
Wildcards (подстановочные знаки):
Используются для повышения гибкости при работе с параметризованными типами в сигнатурах методов.
? (Unbounded Wildcard): Означает любой тип.? extends UpperBound (Bounded Wildcard - верхняя граница): Означает любой тип, который является подтипом UpperBound.? super LowerBound (Bounded Wildcard - нижняя граница): Означает любой тип, который является супертипом LowerBound.Пример использования bounded wildcard:
java
Параметризованные типы стали стандартной частью Java с версии 5.