G
Guest
Gast
Moinsen!
Ich würde gerne einige Methoden schreiben, die auf Arrays aller (numerischer) primitiver Datentypen arbeiten, ohne diese für jeden primitiven Datentyp einzeln implementieren zu müssen.
Beispiel: Um das Maximum in einem Array zu bestimmen würde ich derzeit schreiben:
Kann man das nicht irgendwie zusammenfassen ? Z.B. zu sowas in der Art wie (nicht lauffähiger code):
Ich habe da nun etwas mit Reflections herumprobiert, aber nichts brauchbares gefunden.
Einmal scheiterte es lediglich daran, dass man nicht von z.B. int[] nach Integer[] oder Object[] casten kann.
Hat da wer eine Idee oder ein Patentrezept ?
Ich würde gerne einige Methoden schreiben, die auf Arrays aller (numerischer) primitiver Datentypen arbeiten, ohne diese für jeden primitiven Datentyp einzeln implementieren zu müssen.
Beispiel: Um das Maximum in einem Array zu bestimmen würde ich derzeit schreiben:
Code:
public static int getMax(int[] arr) {
int max = arr[0];
for(int i=1; i<arr.length; i++) {
if (arr[i] > max)
max = arr[i];
}
return max;
}
public static float getMax(float[] arr) {
float max = arr[0];
for(int i=1; i<arr.length; i++) {
if (arr[i] > max)
max = arr[i];
}
return max;
}
// ebenso für long, double, short, ...
Kann man das nicht irgendwie zusammenfassen ? Z.B. zu sowas in der Art wie (nicht lauffähiger code):
Code:
public static <T> getMax(<T>[] arr) {
T max = arr[0];
for(int i=1; i<arr.length; i++) {
if (arr[i] > max)
max = arr[i];
}
return max;
}
...
{
// Aufrufe z.B. per:
int[] A;
...
int m = getMax(A);
float[] B;
...
float f = getMax(B);
}
Einmal scheiterte es lediglich daran, dass man nicht von z.B. int[] nach Integer[] oder Object[] casten kann.
Hat da wer eine Idee oder ein Patentrezept ?