枚舉類型Enum

package test;

import java.util.*;

public class EnumTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		System.out.println("Enter a size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE):");
		String input = in.next().toUpperCase();
		Size size = Enum.valueOf(Size.class,input);
		System.out.println("size=" + size);
		System.out.println("abbreviation="+size.getAbbreviation());
		if(size == Size.EXTRA_LARGE){
			System.out.println("你選擇的是最大碼的。");
		}
	}

}

enum Size{
	SMALL("S"),MEDIUM("M"),LARGE("L"),EXTRA_LARGE("XL");
	
	private Size(String abbreviation){this.abbreviation = abbreviation;}
	
	public String getAbbreviation() {
		return abbreviation;
	}

	private String abbreviation;
	
}
結果爲:
Enter a size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE):
SMALL
size=SMALL
abbreviation=S

經驗小結:
所有的枚舉類型都是Enum類的子類。繼承了很多Enum的方法。常用的toString返回枚舉的常量名。如:
Size.SMALL.toString()返回字符串"SMALL"
toString的逆方法是靜態方法valueOf
Size s = (Size)Enum.valueOf(Size.class,"SMALL");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章