黑马程序员技术交流社区
标题:
如何输出枚举类型的内容?
[打印本页]
作者:
tianlin
时间:
2015-3-10 20:53
标题:
如何输出枚举类型的内容?
enum season
{
spring,
summer,
autumn,
winter,
};
enum season s = summer;
能不能直接输出“summer”
作者:
BeNotJustCoder
时间:
2015-3-10 20:53
枚举类型由一组命名的常数组成,所以说他实际上是常数,系统根据Integer、Long、Short或Byte中的任意一种数据类型来创建它,如果想输出枚举名字,只能采用这种形式:
switch(s)
case spring:
puts("spring");break;
case summer:
puts("summer");break;
...
复制代码
也就是说,只能先将它转变为字符串再进行输出。
你可以专门定义一个函数类似 const char*get_season_name(enum season s),来专门获取枚举值对应的字符串,实际开发中,需要输出调试log时,一般也是这么做的。
作者:
林吉前
时间:
2015-3-10 22:24
这是java么?java枚举跟好像跟迭代器一样,迭代输出,没办法指定输出
作者:
Grady
时间:
2015-3-10 22:48
枚举元素本身由系统定义了一个表示序号的值,你可以强制类型转换一下吧,然后再输出。
作者:
Grady
时间:
2015-3-10 23:06
一定要给我奖励啊,我回答出来了
作者:
粘糊浆
时间:
2015-3-10 23:54
可以加个判断语句,根据其值输出相应的字符串
作者:
wde34
时间:
2015-3-11 08:11
enum season
{
spring,
summer,
autumn,
winter,
};
public class Test {
public static void main(String[] args) {
for (season s : season.values()) {
System.out.println(s+":"+s.name());
}
}
}
复制代码
作者:
BeNotJustCoder
时间:
2015-3-11 09:26
兄弟,不只我的答案满意否,分给我吧:D
作者:
碧空海
时间:
2015-3-13 13:28
看过 学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2