Шаблоны в Java
Как генерится код по шаблону: так же, как и в C++ (то есть на этапе компиляции) или как в C# (то есть с докомпиляцией перед запуском или на лету или как-то иначе?На этапе компиляции только проверка типов осуществляется, и генерится один код на весь генерик. Параметр имеет тип верхней границы.
А есть ли какие-то отличия от C#-овских дженериков?
На этапе компиляции только проверка типов осуществляется, и генерится один код на весь генерик. Параметр имеет тип верхней границы.
т.е. примитивные типы не могут быть аргументами для параметров дженерика, и рантайме тебе тип аргумента парметра дженерика не доступен.
Интересно, в реализации JVM в SE 5.0, есть оптимизация, которая устраняется касты типов возвращаемых значений, которые являются параметрами дженерика. Хотя, наверно, без расширения байт-кода это сделать нельзя.
Оставить комментарий
Missi4ka
Могут ли шаблоны Java иметь параметры примитивного типа или только ссылки?Как генерится код по шаблону: так же, как и в C++ (то есть на этапе компиляции) или как в C# (то есть с докомпиляцией перед запуском или на лету или как-то иначе?