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());
}
}
}
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));
}
}
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