閱讀438 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

  上一篇:go android 如何調整狀態欄icon之間的顯示順序
  下一篇:go 用UBOOT自帶loadb命令加載應用程序到SDRAM中運行的方法