суббота, 8 июля 2017 г.

День семьнадцатый

LinkedList - полезен, когда нужно заменять либо удалять элементы из коллекции. Каждый элемент содержит ссылку на следующий. Т.е. при замене либо удалении элемента - обновляются две ссылки на предыдущий и следующий элементы.

Generics (параметризированные классы)
Записываются примерно так: ArrayList < ... >
В таких угловых скобках указывается, какого конкретно типа данные будут храниться в данном классе. Т.е. класс уже параметризирован и в него нельзя будет запихнуть объект другого типа - компилятор выдаст ошибку.

Тип Erasure - после того, как компилятор убедился, что в параметризированный класс засунуты данные правильного типа - вся инфа о параметрах стирается. Т.е. при компиляции класса с параметрами либо без них - выдаётся один и тот же байт-код. Однако, обязательно будет проводиться кастинг в том месте, где используются параметры.

PS.: Какие-то они уж слишком хитро-выдроченные эти генерики. Не сразу то и въедешь, что к чему.

Комментариев нет:

Отправить комментарий