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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梁健 黑马帝   /  2011-12-25 11:46  /  1738 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

想请问一下JAVA中的枚举合C语言的枚举的区别。。

7 个回复

倒序浏览
按我在毕老师视频里学的理解是 枚举想当于vector的迭代器 但名称过长 都不用了 vector也由于效率低不用了。
c里的枚举就是个基本数据类型  和结构体很相似
回复 使用道具 举报
c语言只是学了一点,不太了解,枚举也像一个类在java中。枚举:要让某个类型的变量的取值只能为若干个固定值,让编译器在编译时可以控制源程序中填写的非法值,普通变量的方式无法在开发阶段实现这一目标。
回复 使用道具 举报
区别有两个:
1.C#的枚举定义可以比java更加宽泛一些。C#可以定义枚举值与int的映射关系(不从0开始),可以定义枚举值的类型(int,short)。
2.switch语句的微妙差别:
比如
enum fruit{apple,orange};
java:
switch(fruit)
{
case apple:
break;
case orange:
break;
}
c#:
switch(fruit)
{
case fruit.apple:
break;
case fruit.orange:
break;
}
回复 使用道具 举报
http://www.cnblogs.com/yuyijq/archive/2010/10/26/1861988.html
非常详细,应该有帮助
回复 使用道具 举报
这样的问题应该先看看资料再问。才会收获得更多
回复 使用道具 举报
刘小峰 黑马帝 2011-12-26 21:23:27
7#
如题在java里面,枚举类型最终被编译成public static final class类型。在c  中,枚举类型就是一种数据结构。
回复 使用道具 举报
黄战胜 黑马帝 2011-12-27 08:39:18
8#
这个跟C中的枚举基本上是没啥区别,思想都是一样的,只不过换了一种写法而已。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马