在上一篇的文章 [Java] Enum 的介紹
,大家可以看到enum一般會配合Switch使用。
但究竟能否再簡化呢?
答案:是能夠的。
如果不用列出所有enum內的常數,而是單獨地存取某個常數的值,可以不用加上Switch。只要直接地把要顯示的資訊放在enum內的常數就可以。
例子:
public class EnumEx2 {
enum Level {
LOW("Low level",0),
MEDIUM("Medium level",1),
HIGH("High level",2);
private Level(String levelName, int levelNumber){
this.levelName = levelName;
this.levelNumber = levelNumber;
}
private String levelName;
private int levelNumber;
}
public static void main(String[] args) {
String enumLevelName = Level.MEDIUM.levelName; //用 . 來召喚enum內的常數
System.out.println(enumLevelName);
int enumLevelNumber = Level.MEDIUM.levelNumber;
System.out.println(enumLevelNumber);
}
}
只需要加上private variable來代表每個常數所帶的資訊,在例子上可以看到每個常數都有2個資訊分別是Level的名字和Level的數值。
相信大家都清楚了解怎樣運用enum,
如果有什麼不明白,歡迎問我。