黑马程序员技术交流社区
标题:
银行业务调度系统中的一个疑问
[打印本页]
作者:
段浩亮
时间:
2012-3-19 14:46
标题:
银行业务调度系统中的一个疑问
定义顾客类型的源码是这样的:
public enum CustomerType {
COMMON,EXPRESS,VIP;
public String toString(){
String name = null;
switch(this){
case COMMON:
name = "普通";
break;
case EXPRESS:
name = "快速";
break;
case VIP:
name = name();
break;
}
return name;
}
}
我想问的是switch(a){} a的类型不是只能是byte,short,int,char四种类型吗?为什么在这里可以接受枚举类型?
作者:
李涛涛
时间:
2012-3-19 14:51
switch(a) 要接受的是常量,而 枚举类型中定义的类型就是常量
作者:
周建
时间:
2012-3-19 15:55
这是Java5的新特性,Java5之后switch()可以接受枚举类型了
作者:
张润政
时间:
2012-3-19 18:14
枚举,本来是C++中的元老,java本来是没有这些东西的,可是后来为了完善java的API架构,更方便的让我们使用java开放程序,又加入了枚举,它使得程序提高了安全性,也简化了书写。
至于为什么能够接收枚举,这也是因为枚举成为了固定取值的对象,switch能够接收这样的参数也是将枚举拉入java阵营的需要啊。
其实,将枚举应用于switch就是一个固定的应用。
作者:
盛亚昆
时间:
2012-3-19 21:37
switch后只能用byte,short,int,char,jdk5.0以后,还可以用枚举类型,这是java的规范
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2