Java. Что такое дженерики? / What is Java Generics?

Дженерики в Java - это фича языка, которая позволяет определять и использовать обобщенные типы и методы.
"Java Generics" - это технический термин, обозначающий набор свойств языка позволяющих определять и использовать обобщенные типы и методы. Обобщенные типы или методы отличаются от обычных тем, что имеют типизированные параметры.
Примером дженериков или обобщенных типов может служить библитека с коллекциями в Java. Например, класс LinkedList<E> - типичный обобщенный тип. Он содержит параметр E, который представляет тип элементов, которые будут храниться в коллекции. Вместо того, чтобы просто использовать LinkedList, ничего не говоря о типе элемента в списке, мы можем использовать LinkedList<String> или LinkedList<Integer>. Создание объектов обобщенных типов происходит посредством замены параметризированных типов реальными типами данных. Класс типа LinkedList<E> - обобщенный тип, который содержит параметр E. Создание объектов, типа LinkedList<String> или LinkedList<Integer> называются параметризированными типами, а String и Integer - реальные типы аргументов.
Какова истинная цель использования обобщенных типов в Java?
Обобщенные типы в Java были изобретены, в первую очередь, для реализации обобщенных коллекций.
Потребность использования обобщенных типов заключается, в основном, в реализации и использовании коллекций. Примеры этих коллекций можете посмотреть в Java Collection Framework. Программисты часто хотят указать, что коллекция содержит элементы определенного типа, такой как список целочисленных значений или список строк. Фреймворк коллекций, сам по себе, не является обобщенным и не предлагает никаких гомогенных коллекций элементов одинакового типа. Вместо этого, все коллекции хранят в себе ссылки на Object, а это означает, что они потенциально являются гетерогенными, предоставляют смесь объектов различных типов.
В не-обобщенной Java, гомогенные коллекции элементов имели необходимые реализации различных классов, таких как IntegerList, StringList и т.д.
Так для чего же нужны дженерики? А нужны они для того, чтобы реализовать один обобщенный класс, с которого можно создать объект для множества типов. Возьмем, например, обобщенный класс List. Он позволяет определять List<Integer>, List<String> и т.д. Каждый из которых является гомогенной коллекцией. В обобщенной Java, класс List также называется обобщенным классом, который содержит тип параметра. То есть класс, в котором тип параметра может быть замещен для определенного типа данных.
Изначально, использование обобщенных типов в джаве было мотивировано потребностью иметь механизм для эффективной реализации гомогенных коллекций.
Материалы, которые могут вас заинтересовать
- Java. Как создать объект обобщенного типа? How is a generic type instantiated?
- Java. Что такое параметризированный или обобщенный тип? / What is a parameterized or generic type?
- Вопрос: Восходящее преобразование и generic
- Играем в компилятор.
- Аргументы методов в Java : pass-by-value or pass-by-reference
- Все о String.intern()
- Java. Замена символов в строке / Replacing characters in string
- Java. Как получить путь к проекту? / How to get project path?
- Core java. Примеры, в которых зарыта собака







Хорошее объяснение . я для C# пытался найти чтонибудь по дженерикам но чета ниче не нашел но для джавы тоже норм , поканает
Исчерпывающе.
Я нашел ответ на свой вопрос.
Благодарю :)
Да в общем написано понятно.
Спасибо!
Спасибо!
Отправить комментарий