Когда нужно использовать raw types?
Как известно, raw type – это такие generic-типы, которые используются без задания типа-параметра. Данная конструкция допустима, но часто приводит к появлению warning от компилятора. Это связано с риском возникновения ситуации, которая называется heap pollution, это когда переменная, относящаяся к параметризированному типу, начинает ссылаться на непараметризированный объект. Применение raw type, в общем случае, недопустимо. Их поддержка в Java существует исключительно для поддержания совместимости с ранними версиями.
Оправдать применение обобщённого типа без параметров оправдано только в таких случаях:
- Используется Java 5 или более ранняя, выпущенная до 2002 года.
- В литерале class. Когда List<String>.class не выполняется, тогда требуется писать List.class.
Если при использовании instanceof должно быть instanceof Set, а не instanceof Set<Integer>.
Бесплатные Telegram-боты для обучения
Практика с проверкой кода и помощью ИИ-ментора
AndroidSprint AI Mentor
Проверяет Pull Request'ы в GitHub, проводит тестовые собеседования с голосом и таймером, помогает разбираться с кодом 24/7
Попробовать ИИ-ментора →KotlinSprint Bot
22 урока Kotlin, 220 тестов, 120 практических задач с код-ревью
Начать обучение Kotlin →