java enum(两个字符串值)
时间: 2024-05-14 15:12:19 浏览: 9
以下是一个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如何判断一个字符串在不在一个枚举中
在Java中,可以使用Enum.valueOf()方法来判断一个字符串是否在一个枚举中。该方法接受两个参数:枚举的Class类型和待判断的字符串。如果该字符串在枚举中存在,该方法将返回对应的枚举常量,否则将抛出IllegalArgumentException异常。
例如,假设有一个枚举类型Season,包括四个枚举常量:SPRING, SUMMER, AUTUMN, WINTER。现在需要判断一个字符串是否在该枚举类型中,可以使用以下代码:
```
public enum Season {
SPRING, SUMMER, AUTUMN, WINTER;
}
public static boolean isInEnum(String value) {
try {
Season season = Season.valueOf(value);
return true;
} catch (IllegalArgumentException e) {
return false;
}
}
public static void main(String[] args) {
System.out.println(isInEnum("SPRING")); // true
System.out.println(isInEnum("SUMMER")); // true
System.out.println(isInEnum("AUTUMN")); // true
System.out.println(isInEnum("WINTER")); // true
System.out.println(isInEnum("SUMM")); // false
}
```
在上述代码中,isInEnum()方法接受一个字符串作为参数,通过调用Season.valueOf()方法来判断该字符串是否在Season枚举中存在。如果存在,则返回true,否则返回false。在main()方法中,我们测试了一些字符串,包括枚举中的常量和不在枚举中的字符串,输出结果符合预期。