438
技術社區[雲棲]
Java 枚舉--枚舉的作用
枚舉就是規定好了指定的取值範圍,所有的內容隻能從指定的範圍中取得。使用簡單類完成顏色的固定取值問題。也就是說此時,一個類隻能產生固定的幾個對象。
class Color{
public static final Color RED = new Color("紅色") ; // 定義第一個對象
public static final Color GREEN = new Color("綠色") ; // 定義第一個對象
public static final Color BLUE = new Color("藍色") ; // 定義第一個對象
private String name ;
private Color(String name){
this.name = name ;
}
public void setName(String name){
this.name = name ;
}
public String getName(){
return this.name ;
}
public static Color getInstance(int i){
switch(i){
case 1:{
return RED ;
}
case 2:{
return GREEN ;
}
case 3:{
return BLUE ;
}default:{
return null ;
}
}
}
};
public class ColorDemo01{
public static void main(String args[]){
Color c1 = Color.RED ; // 取得紅色
System.out.println(c1.getName()) ; // 輸出名字
Color c2 = Color.getInstance(3) ; // 根據編號取得名字
System.out.println(c2.getName()) ;
}
};此時,程序限定了所能取的對象的範圍,所以達到了枚舉的功能。
定義一個枚舉類型

使用enum關鍵字定義:
public enum Color{
RED,GREEN,BLUE ; // 定義三個枚舉的類型
};枚舉中有三個取值。以後在取得的時候,隻能從這三個內容取
public class GetEnumContent{
public static void main(String args[]){
Color c = Color.BLUE ; // 取出藍色
System.out.println(c) ;
}
};因為枚舉已經指定好了範圍,所以可以使用foreach進行全部的輸出,使用“枚舉.values()”的形式取得全部的枚舉內容。public class PrintEnum{
public static void main(String args[]){
for(Color c:Color.values()){ // 輸出枚舉中的全部內容
System.out.println(c) ;
}
}
};還可以直接將內容在SWITCH語句上使用。public class SwitchPrintEnum{
public static void main(String args[]){
for(Color c:Color.values()){ // 輸出枚舉中的全部內容
print(c) ;
}
}
public static void print(Color color){
switch(color){
case RED:{
System.out.println("紅顏色") ;
break ;
}
case GREEN:{
System.out.println("綠顏色") ;
break ;
}
case BLUE:{
System.out.println("藍顏色") ;
break ;
}
default:{
System.out.println("未知顏色") ;
break ;
}
}
}
};
最後更新:2017-04-03 12:53:43