java enum(两个字符串值)
时间: 2024-05-14 10:12:19 浏览: 82
以下是一个Java枚举类型,其中包含两个字符串值:
```
public enum MyEnum {
VALUE_ONE("String one"),
VALUE_TWO("String two");
private final String value;
MyEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
```
在上面的代码中,我们定义了一个名为`MyEnum`的枚举类型,其中包含两个枚举值:`VALUE_ONE`和`VALUE_TWO`。每个枚举值都有一个字符串值,它们分别是`"String one"`和`"String two"`。
枚举类型中的`value`字段是一个私有的`String`类型变量,它被用于存储每个枚举值的字符串值。我们还定义了一个`getValue()`方法,用于获取每个枚举值的字符串值。
使用这个枚举类型,我们可以通过以下方式获取枚举值的字符串值:
```
String str1 = MyEnum.VALUE_ONE.getValue();
String str2 = MyEnum.VALUE_TWO.getValue();
```
`str1`和`str2`的值将分别为`"String one"`和`"String two"`。
相关问题
Java Enum 关联
Java Enum 可以关联其他数据类型,常见的关联方式有两种:
1. 使用构造函数
可以在 Enum 中定义构造函数,通过构造函数将 Enum 关联的数据类型传入。例如:
```java
public enum Color {
RED("红色", 1),
GREEN("绿色", 2),
BLUE("蓝色", 3);
private String name;
private int index;
private Color(String name, int index) {
this.name = name;
this.index = index;
}
public String getName() {
return name;
}
public int getIndex() {
return index;
}
}
```
在上面的例子中,我们将每个 Color 枚举值与一个字符串和一个整数关联起来。
2. 使用属性
Enum 也可以定义属性,通过属性来关联其他数据类型。例如:
```java
public enum Color {
RED("红色"),
GREEN("绿色"),
BLUE("蓝色");
private String name;
private Color(String name) {
this.name = name;
}
public String getName() {
return name;
}
public static Color fromName(String name) {
for (Color color : Color.values()) {
if (color.name.equals(name)) {
return color;
}
}
return null;
}
}
```
在上面的例子中,我们将每个 Color 枚举值与一个字符串关联起来,并定义了一个静态方法 fromName,通过字符串查找对应的 Color 枚举值。
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);
}
```
输出结果:
```
红色
绿色
蓝色
```
阅读全文