Почему generic -и не съедают примитивные типы

222
22 июля 2017, 06:02
Abc<int> //ошибка

p.s. И ещё, как их по русски называть? Генэрик(и)?

Answer 1

Это ограничение Java.

Дело в том, что для type erasure тип-параметр при компиляции заменяется на Object. Но int не есть Object, поэтому такое запрещено.

Вы, однако, можете обойти запрет, использовав Abc<Integer>.

По поводу русскоязычного названия, в предыдущем вопросе использовалось слово «дженерики». Звучит не очень, да.

Answer 2

По-русски устоялось "дженерик" в разговорной речи или, более формально, "обобщенный тип". Причину указали выше: стирание типов.

Для использования коллекций притимивных типов можно использовать стороннюю библиотеку GNU Trove.

READ ALSO
Sugar ORM - authentification activity

Sugar ORM - authentification activity

Я делаю класс активити, в котором аутентификацияУ меня ошибка:

199
Почему Hibernate не видит .hbm.xml?

Почему Hibernate не видит .hbm.xml?

У меня объекты Task должны записываться в таблицу tasks:

321
String &amp; StringBuilder

String & StringBuilder

В таких языках как Java и C# для конкатенации большого числа строк принято использовать StringBuilder, чтобы получить линейную асимптотику вместо...

298
Как вернуть из метода значение String&#39;a

Как вернуть из метода значение String'a

Только учусь Джаве и делаю маленькую текстовую игру и в начале игрок может написать своё имя, которое в последствии будет участвовать в диалогахЯ...

257