J
JavaToad
Gast
Hallo ich habe ein kleines Problem, da ich zum ersten mal mit enum Klassen arbeite und auch nach Recherche wenig gefunden habe dachte ich ich frage mal hier.
Ich habe in meiner enum Klasse welchen einen Filter darstellt
folgende Operation:
Nun wollte ich diese aus einer anderen Klasse ganz normal aufrufen allerdings scheint das mit enum nicht so einfach möglich zu sein wie mit einer normalen Klasse. Hat da jemand vielleicht Tipps für mich was ich anders machen müsste?
Ich habe in meiner enum Klasse welchen einen Filter darstellt
folgende Operation:
Java:
public Collection<Entry> filter(Collection<Entry> entries) {
final ArrayList<Entry> result = new ArrayList<Entry>();
for (Entry e: entries) {
switch(this.ordinal()) {
case 1:
// Male with an age of 18 years or more and phone number contact information
if ((e.isMale() && e.getAge() >= 18 && e.getContactInformation() instanceof PhoneNumber))
result.add(e);
break;
case 2:
// Female with a surname of either "Duck" or "Maus" and an age of 30 or more years
if (e.isFemale() && (e.getSurName().equalsIgnoreCase("Duck") || e.getSurName().equalsIgnoreCase("Maus") && e.getAge() >= 30))
result.add(e);
break;
case 3:
// People with a last name that starts with the letter D, which are either female or of an age of less than 18 or 65 and more
if ((e.isFemale() || e.getAge() < 18 || e.getAge() >= 65 && e.getSurName().startsWith("D")))
result.add(e);
break;
default: return entries;
}
}
return result;
}
}
Nun wollte ich diese aus einer anderen Klasse ganz normal aufrufen allerdings scheint das mit enum nicht so einfach möglich zu sein wie mit einer normalen Klasse. Hat da jemand vielleicht Tipps für mich was ich anders machen müsste?