Java Core junior

Generics — зачем нужны?

Ответ

Типобезопасность на этапе компиляции и устранение ручных приведений типов. Без generics: List list = new ArrayList(); list.add(123); String s = (String)list.get(0) → ClassCastException в рантайме. С generics ошибка ловится компилятором.

Разбор: Главная цель generics — типобезопасность на этапе компиляции и устранение ручных приведений типов: ошибка ловится компилятором, а не как ClassCastException в рантайме. Дистракторы ошибочны: из-за type erasure специализированного байткода и рантайм-проверки типа параметра нет, а с наследованием и ковариантностью массивов generics напрямую не связаны.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться