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
新闻热点
疑难解答