Enum je výčtový typ. Představuje omezený výčet hodnot. Enum nemusí představovat pouze název, ale též hodnoty.
Jednoduchý bezparametrický enum.
public enum Country {
CZ, SK, EN
}
Volání
System.out.println(Country.CZ.name());
Výsledek
CZ
Enum s jením parametrem
public enum Country {
CZ(1),
SK(2),
EN(3);
private int code;
Country(int code) {
this.code = code;
}
public int getCode() {
return code;
}
}
Volání
Country sk = Country.SK; System.out.println(sk.name()); System.out.println(sk.getCode());
Výsledek
SK 2
Enum s několika paramatery
public enum Country {
CZ(1, "Česko", "Česká republika"),
SK(2, "Slovensko", "Slovenská republika"),
EN(3, "Velká Britanie", "Spojené království Velké Británie a Severního Irska");
private int code;
private String popis;
private String popisDlouhy;
Country(int code, String popis, String popisDlouhy) {
this.code = code;
this.popis = popis;
this.popisDlouhy = popisDlouhy;
}
public int getCode() {
return code;
}
public String getPopis() {
return popis;
}
public String getPopisDlouhy() {
return popisDlouhy;
}
}
Volání
Country en = Country.EN; System.out.println(en.name()); System.out.println(en.getCode()); System.out.println(en.getPopis()); System.out.println(en.getPopisDlouhy());
Výsledek
EN 3 Velká Britanie Spojené království Velké Británie a Severního Irska