Как преобразовать List <T> в Array t [] (для примитивных типов), используя generic-метод?

Я делаю некоторые тесты с помощью generic-методов, и я хотел бы преобразовать эти два метода ниже (convertFloatListToArray и convertShortListToArray) в один (convertListToArray):

public class Helper{
    public static float[] convertFloatListToArray(List<Float> list){
        float[] array = new float[list.size()];

        for(int i = 0; i<list.size(); i++){
            array[i] = list.get(i);
        }

        return array;
    }

    public static short[] convertShortListToArray(List<Short> list){
        short[] array = new short[list.size()];

        for(int i = 0; i<list.size(); i++){
            array[i] = list.get(i);
        }

        return array;
    }
}

Но когда я пытаюсь использовать дженерики, как показано ниже, у меня возникают ошибки:

public class Helper{
    public static <T, E> T convertListToArray(List<E> list){
        T array = new T[list.size()];

        for(int i = 0; i<list.size(); i++){
            array[i] = list.get(i);
        }

        return array;
    }
}

Я могу понять ограничения Java для дженериков, но мне интересно, знает ли кто-нибудь какое-либо решение, использующее дженерик-метод, которого я не вижу.

Ответы на вопрос(1)

Ваш ответ на вопрос