Hallo,
ich denke ich stehe grad aufm Schlauch.
Ich habe mehrere Enums.
Jedes Enum hat eine Funktion getImage(), jedem Enum-Element ist ein Bild zugeordnet.
Nun wollte ich eine simple Funktion schreiben, die als Übergabeparameter "ein Enum bekommt".
Die Funktion soll für alle Elemente des Enums die getImage-Funktion aufrufen.
Und irgendwie bin ich zu deppert, den Übergabeparameter zu realisieren
Momentan habe ich das (wohl eher sehr unschön) gelöst:
Ein KSKB soll verdeutlichen, was ich versucht habe:
mfg Verjigorm
ich denke ich stehe grad aufm Schlauch.
Ich habe mehrere Enums.
Jedes Enum hat eine Funktion getImage(), jedem Enum-Element ist ein Bild zugeordnet.
Nun wollte ich eine simple Funktion schreiben, die als Übergabeparameter "ein Enum bekommt".
Die Funktion soll für alle Elemente des Enums die getImage-Funktion aufrufen.
Und irgendwie bin ich zu deppert, den Übergabeparameter zu realisieren
Momentan habe ich das (wohl eher sehr unschön) gelöst:
Ein KSKB soll verdeutlichen, was ich versucht habe:
Code:
public class Enumtest
{
public enum Enum1
{
A, B;
public void getImage()
{
System.out.println("Image");
//....
}
}
public enum Enum2
{
C, D;
public void getImage()
{
System.out.println("Image");
// ...
}
}
/**
* @param args
*/
public static void main(String[] args)
{
//Wie realisiere ich den Übergabeparameter?
//Geht das nicht besser/schöner?
getImages(Enum1.values());
getImages(Enum2.values());
}
//Wie realisiere ich den Übergabeparameter?
private static void getImages(Object[] array)
{
for(Object o : array)
{
if(o instanceof Enum1)
{
((Enum1)o).getImage();
}
if(o instanceof Enum2)
{
((Enum2)o).getImage();
}
}
}
}
mfg Verjigorm