ENUM mit SWITCH

Marsik

Grünschnabel
Hallo , was wäre ein Beispiel mit enum + switch + folgende PR_CODE :confused:

enum Wochentag { montag, dienstag, …, samstag, sonntag }
Wochentag tag = …;
if (tag < Wochentag.Samstag && tag != Wochentag.Mittwoch) {
 
Moin,

google hätte Dir dafür schon mehr als genug Antworten ausgespuckt.

Java:
public enum Wochentag {
  MONTAG,
  DIENSTAG,
  MITTWOCH,
  ...
}

[...]
Wochentag tag = Wochentag.MONTAG;

switch(tag){
  case MONTAG : return "Montag";
  case DIENSTAG : return "Dienstag";
  case MITTWOCH : return "Mittwoch";
  ...
}
[...]

Gruß,
Xan
 
Enums können auch Properties haben. D.h. sows wäre eleganter:

Java:
public enum Wochentag {

  MONTAG("Montag", 0), DIENSTAG("Dienstag", 1); // usw.

  private String text;
  private int order;

  private Wochentag(String text, int order) {
    // Zuweisung
  }

  public String getText() {
    return text;
  }

  // usw.
}

Anstelle des Textes würde ich vmtl. eher einen Key für ein Resoucebundle hinterlegen um die Internationalisierbarkeit zu gewähleisten. Mehr zum Thema Enums in Josch Blochs Buch Effective Java 2nd Edition.

Gruß
Ollie
 
Zurück