Language Начинающий

Замените сырые типы коллекций и приведения типов при извлечении на безопасность типов, проверяемую на этапе компиляции.

✕ Java 1.4
List names = new ArrayList();
names.add("Duke");

String name = (String) names.get(0);
✓ Java 5+
List<String> names = new ArrayList();
names.add("Duke");

String name = names.get(0);
Заметили проблему в этом коде? Сообщите нам.
🔒

Безопасность на этапе компиляции

Недопустимые типы элементов вызывают ошибку при компиляции, а не во время выполнения.

🧹

Без приведений при извлечении

Значения сохраняют объявленный тип элемента.

📖

Самодокументируемые API

Объявления коллекций точно указывают, что они содержат.

Старый подход
Сырые коллекции
Современный подход
Обобщённые коллекции
Начиная с JDK
5
Сложность
Начинающий
От сырых коллекций к обобщённым типам
Доступно

Обобщённые типы доступны начиная с JDK 5 (сентябрь 2004 года).

Сырые коллекции принимают произвольные типы объектов и откладывают ошибки типов до момента выполнения приведения типа. Параметры обобщённого типа позволяют компилятору проверять запись и чтение, устраняют приведения типов, улучшают поддержку IDE и делают контракты API явными. Сырые типы обычно должны оставаться только на тщательно изолированных границах взаимодействия с устаревшим кодом.