Как преобразовать 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 для дженериков, но мне интересно, знает ли кто-нибудь какое-либо решение, использующее дженерик-метод, которого я не вижу.