A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张文星 中级黑马   /  2013-3-21 18:48  /  1407 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张文星 于 2013-3-22 12:50 编辑

switch表达式中的值必须是byte、short、int、char,为什么还可以允许是枚举类型,原理是什么?
我自己的猜想是java中引用在计算机中占4个自己的内存,而int也是占四个字节,相互之间可以做类似的转换,不知道对不对。

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-22 12:47

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
枚举型要自己定义.
例如定义颜色型,许可值是红录蓝
enum color{red, green, blue};
例如定义weekday型,许可值是星期一,二,三,...星期日.
enum weekday{mon,tue,thi...};

如果没有enum,则只好用字符型或整型组合,表达式为自定义函数,返回值"red" 或"green"或 "blue",weekday返回值1,2,3,4,5,6,0.
switch 里面的 case 相当条件语句,case "red" 执行什么什么,否则break 看下一个 case .

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
于腾飛 发表于 2013-3-21 19:15
枚举型要自己定义.
例如定义颜色型,许可值是红录蓝
enum color{red, green, blue};

里面的成员是不是都应该大写额
回复 使用道具 举报
黄玉昆 发表于 2013-3-21 19:28
里面的成员是不是都应该大写额

对对,字段名应该大写,楼主也注意哈!共同努力
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马