枚举构造enum,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示.给俩连接,基本就ok
一行代码胜于十行废话,下面的代码胜于几十行代码了
/**
*
*/
package com.yybean.Enum;
import java.util.EnumMap;
import java.util.EnumSet;
/**
* @author yybean.com
*
*/
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<State> 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));
}
}
}
下面是高级一点的废话
/**
*
*/
package com.yybean.Enum;
/**
* @author yybean.com
*
*/
public class EnumMethodTest {
enum Size {
Small(0.8), Medium(1.0), Large(1.2);
private double pricingFactor;
Size(double p) {
pricingFactor = p;
}
public double getPricingFactor() {
return pricingFactor;
}
}
public static void main(String args[]) {
Size s = Size.Large;
double d = s.getPricingFactor();
System.out.println(s + " Size has pricing factor of " + d);
}
}
代码总是在copy来copy去渐渐成长,copy o(︶︿︶)o




