java中获取枚举值将其存入数组的方法
时间: 2024-05-15 14:19:08 浏览: 13
可以使用Java内置的Enum类,通过调用它的values()方法获得所有的枚举值,然后再将其存入数组中。示例代码如下:
```
enum MyEnum {
ENUM1, ENUM2, ENUM3
}
MyEnum[] enumArray = MyEnum.values();
```
这样就可以将MyEnum枚举类型的所有值存入enumArray数组中。
相关问题
Java中的枚举类怎么获取其值
Java中的枚举类可以通过以下方式获取其值:
1. 获取所有的枚举值:
```
YourEnum[] values = YourEnum.values();
```
这个方法返回一个包含所有枚举值的数组。
2. 获取单个枚举值:
```
YourEnum value = YourEnum.valueOf("ENUM_VALUE_NAME");
```
这个方法根据枚举值的名称返回相应的枚举值。需要注意的是,如果传入的名称不存在,会抛出IllegalArgumentException异常。
例如,如果有一个名为Color的枚举类,包含RED、GREEN和BLUE三个枚举值,那么可以通过以下方式获取这些枚举值:
```
enum Color {
RED, GREEN, BLUE;
}
Color[] values = Color.values(); //获取所有的枚举值
Color red = Color.valueOf("RED"); //获取单个枚举值
```
Java 枚举类传入字符串数组,返回对应中文
假设有一个枚举类 Color:
```
public enum Color {
RED("红色"),
GREEN("绿色"),
BLUE("蓝色");
private String chineseName;
Color(String chineseName) {
this.chineseName = chineseName;
}
public String getChineseName() {
return chineseName;
}
public static String[] getAllChineseNames() {
Color[] colors = values();
String[] chineseNames = new String[colors.length];
for (int i = 0; i < colors.length; i++) {
chineseNames[i] = colors[i].getChineseName();
}
return chineseNames;
}
public static String getChineseName(String name) {
Color[] colors = values();
for (Color color : colors) {
if (color.name().equals(name)) {
return color.getChineseName();
}
}
return null;
}
}
```
其中包含了一个中文名称属性 chineseName,以及两个静态方法,getAllChineseNames() 返回所有枚举值的中文名称数组,getChineseName(String name) 根据枚举值的名称返回对应的中文名称。
使用示例:
```
String[] names = {"RED", "GREEN", "BLUE"};
for (String name : names) {
String chineseName = Color.getChineseName(name);
System.out.println(chineseName);
}
```
输出结果:
```
红色
绿色
蓝色
```