全部博文(2759)
分类: Java
2013-10-04 10:02:44
原文地址:JDK5新增功能ENUM全攻略 作者:hiyachen
今天是10.1,我还要上班对应AIX7.1 + Oracle11.2的移形,夜间Batch等。郁闷呀。但得闲暇将enum总结如下:
http://hiyachen.blog.chinaunix.net 欢迎评论。
import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumMap;
import java.util.EnumSet;
public class EnumTest {
public enum State {
ON, OFF
}
public enum Colorful {
RED, ORANGE, YELLOW, GREEN, CYAN, BLUE, PURPLE
}
/**
* [メソッドの説明を書きましょう]
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド?スタブ
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 colorSet1 = EnumSet.allOf(Colorful.class);
System.out.println("EnumSet1******* " + colorSet1);
Colorful[] list = {Colorful.ORANGE, Colorful.YELLOW};
EnumSet colorSet2 = EnumSet.of(Colorful.RED, list);
System.out.println("EnumSet2******* " + colorSet2);
EnumSet colorSet3 = EnumSet.range(Colorful.CYAN, Colorful.PURPLE);
System.out.println("EnumSet3******* " + colorSet3);
EnumSet colorSet4 = colorSet1.clone();
System.out.println("EnumSet4******* " + colorSet4);
// sweep from colorSet1 off colorSet3
EnumSet colorSet5 = colorSet1.complementOf(colorSet3);
System.out.println("EnumSet5******* " + colorSet5);
// copy colorSet3 to colorSet6 or colorSet7
EnumSet
EnumSet colorSet7 = EnumSet.copyOf(colorSet3);
System.out.println("EnumSet6******* " + colorSet6);
System.out.println("EnumSet7******* " + colorSet7);
System.out.println("EnumSet7.equals(EnumSet6)******* " + colorSet6.equals(colorSet7));
Collection collection = new ArrayList();
System.out.println("CollectionPre******* " + collection);
collection.add(Colorful.CYAN);
collection.add(Colorful.PURPLE);
System.out.println("CollectionAft******* " + collection);
EnumSet
System.out.println("EnumSet8******* " + colorSet8);
EnumSet
System.out.println("EnumSet9******* " + colorSet9);
//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("EnumMap&&&& " + s.name() + ":" + stateMap.get(s));
}
}
}
至此对枚举(日语:列举型)有了比较全面了解。
OK