Wie konvertiert man List <T> nach Array t [] (für primitive Typen) mit der generischen Methode?
Ich mache einige Tests mit generischen Methoden und möchte die beiden folgenden Methoden (convertFloatListToArray und convertShortListToArray) in nur eine (convertListToArray) umwandeln:
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;
}
}
Aber wenn ich versuche, Generika zu verwenden, wie unten, habe ich einige Fehler:
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;
}
}
Ich kann Java-Einschränkungen für Generika verstehen, aber ich frage mich, ob jemand eine Lösung mit der generischen Methode kennt, die ich nicht sehe.