策略枚举
要介绍策略枚举,先要了解下策略模式。策略模式另外介绍。
使用枚举在一个类中实现所有的功能及不同的角色。
public enum StrategyEnum {
ADDoperation("+"){
@Override
public int exec(int a, int b) {
return a+b;
}
},
SUBTRACTIONOPERATION("-"){
@Override
public int exec(int a, int b) {
return a-b;
}
},
multiplicationoperation("*"){
@Override
public int exec(int a, int b) {
return a*b;
}
};
public abstract int exec(int a,int b);
private String value;
StrategyEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
@Test
public void testEnum() {
int exec = StrategyEnum.ADDoperation.exec(10, 10);
System.out.println(StrategyEnum.SUBTRACTIONOPERATION.getValue()+exec);
}
在枚举类中,定义的抽象方法相当于策略接口,每个枚举是具体角色及其策略实现。