¿Cómo convertir List <T> a Array t [] (para tipos primitivos) usando el método genérico?
Estoy haciendo algunas pruebas con métodos genéricos y me gustaría transformar estos dos métodos a continuación (convertFloatListToArray y convertShortListToArray) en solo uno (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;
}
}
Pero cuando trato de usar genéricos, como a continuación, tengo algunos errores:
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;
}
}
Puedo entender las limitaciones de Java sobre los genéricos, pero me pregunto si alguien conoce alguna solución, usando el método genérico, que no estoy viendo.