LinkedList - полезен, когда нужно заменять либо удалять элементы из коллекции. Каждый элемент содержит ссылку на следующий. Т.е. при замене либо удалении элемента - обновляются две ссылки на предыдущий и следующий элементы.
Generics (параметризированные классы)
Записываются примерно так: ArrayList < ... >
В таких угловых скобках указывается, какого конкретно типа данные будут храниться в данном классе. Т.е. класс уже параметризирован и в него нельзя будет запихнуть объект другого типа - компилятор выдаст ошибку.
Тип Erasure - после того, как компилятор убедился, что в параметризированный класс засунуты данные правильного типа - вся инфа о параметрах стирается. Т.е. при компиляции класса с параметрами либо без них - выдаётся один и тот же байт-код. Однако, обязательно будет проводиться кастинг в том месте, где используются параметры.
PS.: Какие-то они уж слишком хитро-выдроченные эти генерики. Не сразу то и въедешь, что к чему.
Generics (параметризированные классы)
Записываются примерно так: ArrayList < ... >
В таких угловых скобках указывается, какого конкретно типа данные будут храниться в данном классе. Т.е. класс уже параметризирован и в него нельзя будет запихнуть объект другого типа - компилятор выдаст ошибку.
Тип Erasure - после того, как компилятор убедился, что в параметризированный класс засунуты данные правильного типа - вся инфа о параметрах стирается. Т.е. при компиляции класса с параметрами либо без них - выдаётся один и тот же байт-код. Однако, обязательно будет проводиться кастинг в том месте, где используются параметры.
PS.: Какие-то они уж слишком хитро-выдроченные эти генерики. Не сразу то и въедешь, что к чему.
Комментариев нет:
Отправить комментарий