В структуре коллекций Java интерфейс Collection объявляет следующий метод:
Возвращает массив, содержащий все элементы в этой коллекции; тип выполнения возвращаемого массива - тип указанного массива. Если коллекция подходит в указанном массиве, она возвращается в нее. В противном случае новому массиву присваивается тип среды выполнения указанного массива и размер этой коллекции.
Если вы хотите реализовать этот метод, как бы вы создали массив типа a, известный только во время выполнения?