Неочевидные Дженерики
Дженерики в Java появились больше 10 лет назад. Казалось бы, что о них можно рассказать? На докладе мы обсудим:
- во что компилируются дженерики
- что такое bridge методы, можно ли до них добраться
- правила type erasure
- heap pollution
- почему нельзя параметризовывать исключения
- почему нельзя положить Integer в List<? extends Number>
- почему так странно выглядит сигнатура Collections.max (<T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll))
- Правила написания гибкого API с Дженериками и wildcard
- примеры кода, которые, должны компилироваться, но не компилируется и наоборот
- другие дженерик тонкости
Александр Маторин, Сбербанк-Технологии
Руководитель разработки в СберТехе. Занимается разработкой риск платформы банка, основанной на микросервисах, и системой определения мошенничеств при совершении сделок на финансовых рынках. Преподает на кафедре СберТеха в МФТИ курсы по Java и распределенным системам. Участвует в организации внутренних конференций для разработчиков в банке.
Презентация
Видео
Все доклады