枚举的两个实用用法

来源:互联网 发布:hbase 写入性能优化 编辑:程序博客网 时间:2024/05/18 01:50

package com.test.enumtest;
import java.util.EnumMap;
import java.util.EnumSet;


public class EnumTest {

//定义一个enum枚举类型,包括两个实例ON,OFF
public enum State {
ON, OFF
};

//测试函数
public static void main(String[] args) {
//直接变量enum
for (State s : State.values())
System.out.println(s.name());

//switch与enum的结合使用
State switchState = State.OFF;
switch (switchState) {
case OFF:
System.out.println("OFF");
break;
case ON:
System.out.println("ON");
break;
}

//EnumSet的使用
EnumSet stateSet = EnumSet.allOf(State.class);
for (State s : stateSet) {
System.out.println(s);
}

//EnumMap的使用
EnumMap stateMap = new EnumMap(
State.class);
stateMap.put(State.ON, "is On");
stateMap.put(State.OFF, "is off");
for (State s : State.values()) {
System.out.println(s.name() + ":" + stateMap.get(s));
}
}

}

 

 

为每个enum实例定义不同的方法

 

package com.janeky.enumtest;

public enum TestEnumMathod {
//为每个enum实例添加不同的实现方法
SAMPLE1 {
String getInfo() {
return "示例1";
}
},
SAMPLE2{
String getInfo()
{
return "示例2";
}
};
abstract String getInfo();

//测试
public static void main(String args[])
{
for(TestEnumMathod method:values())
{
System.out.println(method.getInfo());
}
}

}

 

总结:常用的方法有通过values()方法遍历枚举,还有就是通过为每个枚举定义一个方法,这个功能在对于比如页面显示时很有用处.

原创粉丝点击