1700481615
public enum CommandEnum{
1700481616
1700481617
ls(“com.cbf4life.common.command.LSCommand”);
1700481618
1700481619
private String value=””;
1700481620
1700481621
//定义构造函数,目的是Data(value)类型的相匹配
1700481622
1700481623
private CommandEnum(String value){
1700481624
1700481625
this.value=value;
1700481626
1700481627
}
1700481628
1700481629
public String getValue(){
1700481630
1700481631
return this.value;
1700481632
1700481633
}
1700481634
1700481635
//返回所有的enum对象
1700481636
1700481637
public static List<String>getNames(){
1700481638
1700481639
CommandEnum[]commandEnum=CommandEnum.values();
1700481640
1700481641
List<String>names=new ArrayList<String>();
1700481642
1700481643
for(CommandEnum c:commandEnum){
1700481644
1700481645
names.add(c.name());
1700481646
1700481647
}
1700481648
1700481649
return names;
1700481650
1700481651
}
1700481652
1700481653
}
1700481654
1700481655
为什么要用枚举类型?用一个接口来管理也是很容易实现的。注意CommandEnum中的构造函数CommandEnum(String value)和getValue类,没有新建一个Enum对象,但是可以直接使用CommandEnum.ls.getValue方法获得值,这就是Enum类型的独特地方。再看下面:
1700481656
1700481657
ls(“com.cbf4life.common.command.LSCommand”);
1700481658
1700481659
是不是很特别?是的,枚举的基本功能就是定义默认可选值,但是Java中的枚举功能又增强了很多,可以添加方法和属性,基本上就是一个特殊的类。若要详细了解Enum,读者可以翻阅一下相关语法书。
1700481660
1700481661
现在剩下的工作就是写一个Client类,然后看看运行情况如何,如代码清单34-13所示。
1700481662
1700481663
代码清单34-13 场景类
1700481664
[
上一页 ]
[ :1.700481615e+09 ]
[
下一页 ]