Enum:enumerate
1、普通用法
package com;import java.util.EnumMap;import java.util.EnumSet;import java.util.Map.Entry;public class TestEnum {	enum NormalEnum{		MM,GG	//此處可以不用分號	}		public static void main(String[] args) {		System.out.PRintln(NormalEnum.MM);		System.out.println(NormalEnum.MM.name());		System.out.println(NormalEnum.MM.toString());				System.out.println("----------------ordinal()--------------------");		System.out.println(NormalEnum.MM.ordinal());		System.out.println(NormalEnum.GG.ordinal());				System.out.println("--------------compareTo----------------------");		System.out.println(NormalEnum.MM.compareTo(NormalEnum.GG));				System.out.println("---------------valueOf(/"MM/")---------------------");		System.out.println(NormalEnum.valueOf("MM"));		System.out.println(NormalEnum.valueOf("MM") == NormalEnum.MM);				System.out.println("---------------switch---------------------");		NormalEnum enumInstance = NormalEnum.MM;		switch (enumInstance) {		case MM:			System.out.println(enumInstance);			break;		case GG:			System.out.println(enumInstance);			break;		}		System.out.println("--------------values()----------------------");		for(NormalEnum normalEnum : NormalEnum.values()){			System.out.println(normalEnum);		}				System.out.println("--------------EnumSet----------------------");		EnumSet<NormalEnum> set = EnumSet.allOf(NormalEnum.class);		for(NormalEnum normalEnum : set){			System.out.println(normalEnum);		}				System.out.println("---------------EnumMap---------------------");		EnumMap<NormalEnum, String> map = new EnumMap<TestEnum.NormalEnum, String>(NormalEnum.class);		map.put(NormalEnum.MM, "美女");		map.put(NormalEnum.GG, "帥哥");		for(Entry<NormalEnum, String> entry : map.entrySet()){			System.out.println("key:" + entry.getKey() + " value:" + entry.getValue());		}	}}2、 帶參構造方法package com;public class TestEnum {	enum NormalEnum{		MM(18),GG(25);	//此處必須要有分號		private int age;				//構造方法只能是私有的		private NormalEnum(int age){			this.age = age;		}				public int getAge(){			return age;		}				public static NormalEnum getInstance(int age){			for(NormalEnum normalEnum : NormalEnum.values()){				if(normalEnum.getAge() == age){					return normalEnum;				}			}			return null;		}	}		public static void main(String[] args) {		NormalEnum mm = NormalEnum.MM;		NormalEnum gg = NormalEnum.GG;		System.out.println("美女芳齡:"+mm.getAge());		System.out.println("老牛:"+gg.getAge());		System.out.println("找到18歲的"+NormalEnum.getInstance(18));	}}3、每個實例各自實現自己的方法package com;public class TestEnum {	enum NormalEnum{		MM{			String getInfo(){				return "超級美女";			}		},		GG{			String getInfo(){				return "大叔級別";			}		};				abstract String getInfo();	}		public static void main(String[] args) {		NormalEnum mm = NormalEnum.MM;		NormalEnum gg = NormalEnum.GG;		System.out.println(mm.getInfo());		System.out.println(gg.getInfo());	}}轉載請標明出處: http://blog.csdn.net/panyzyw/article/details/57085027
新聞熱點
疑難解答