В Java дженерики работают так же, как и они ... хотя бы частично ... потому что они были добавлены к языку через несколько лет после того, как язык был разработан 1 .Разработчики языка были ограничены в своих вариантах для дженериков, поскольку им пришлось придумать дизайн, обратно совместимый с существующим языком и библиотекой классов Java .
Другие языки программирования (например, C ++, C #, Ada) допускают использование примитивных типов в качестве типов параметров для обобщений.Но оборотной стороной этого является то, что реализации обобщенных типов (или типов шаблонов) в таких языках обычно влекут за собой создание отдельной копии универсального типа для каждой параметризации типа.
1 -Причины, по которым дженерики не были включены в Java 1.0, были вызваны нехваткой времени.Они чувствовали, что им нужно было быстро выпустить язык Java, чтобы заполнить новую рыночную возможность, предоставляемую веб-браузерами.Джеймс Гослинг заявил, что хотел бы включить дженерики, если бы у них было время.Как бы выглядел язык Java, если бы это произошло, можно только догадываться.