java中如何将枚举值用循环输出?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何将枚举值用循环输出?相关的知识,希望对你有一定的参考价值。
在JAVA中 ,编写了一个枚举如下:enum test a("aa"),b("bb"),c("cc"); public test(String param) 那么在用个简单的测试(main方法中):for(test en : test.values()) System.out.println( ??);括号的问号中应该怎么编写 才能输出枚举中的值:"aa","bb","cc"??
java中可以私用enummap来保存枚举值,示例如下:
// 1. 演示定义 EnumMap 对象, EnumMap 对象的构造函数需要参数传入 , 默认是key 的类的类型
EnumMap<Light, String> currEnumMap = new EnumMap<Light, String>(
Light. class );
currEnumMap.put(Light. RED , " 红灯 " );
currEnumMap.put(Light. GREEN , " 绿灯 " );
currEnumMap.put(Light. YELLOW , " 黄灯 " );
// 2. 遍历对象
for (Light aLight : Light.values ())
System. out .println( "[key=" + aLight.name() + ",value="
+ currEnumMap.get(aLight) + "]" );
参考技术A 赋值必须给枚举类增加成员属性,再给用构造方法成员属性赋值。
public class Test
static public enum TestEnum
E_A("aa"),
E_B("bb"),
E_C("cc");
public final String text;
TestEnum(String t)
text=t;
public static void main(String[] args)
for(TestEnum e : TestEnum.values())
System.out.println(e+" "+e.text);
======
E_A aa
E_B bb
E_C cc 参考技术B 不是修改括号中的,而是修改ENUM中的enum test a("aa"),b("bb"),c("cc"); private String text; public test(String param) this.text = param /**
* @return 该项的文本表示形式。
*/
public String getText()
return this.text;
那么在用个简单的测试(main方法中):for(test en : test.values()) System.out.println( en.getText()); 参考技术C 我记得不是太清楚了,好像是用name()方法,即en.name()。
你去试试吧。
另外,你可以下载一个JDK的API的帮助文档,里面所有类的成员和方法都有。
Java如何循环遍历枚举类元素或者查看某元素是否存在
方法就是在构造枚举的时候,构造一个方法,去实现一个返回Map。
我们把CODE和Name都作为key写入,这样无论是否查询哪个都可以直接find。
public enum ResponseEnum
ENUM_ELEM1(200, "OK"),
ENUM_ELEM2(400, "NOT FOUND");
private String code;
private String name;
//声明一个构造方法
ResponseEnum(String code,String name)
this.name=name;
this.code=code;
// 转换成为 MAP<String, String>, 对外提供查询和遍历功能
public static Map<String, String> toMap()
Map<String, String> map = new HashMap();
for (ResponseEnum i : ResponseEnum.values())
map.put(i.getName(), i.getCode());
map.put(i.getCode(), i.getName());
return map;
以上是关于java中如何将枚举值用循环输出?的主要内容,如果未能解决你的问题,请参考以下文章