java 枚举通过两个值获取另一个值
时间: 2023-08-13 15:02:24 浏览: 18
可以通过在枚举中定义一个方法来实现通过两个值获取另一个值。具体实现如下:
```java
public enum MyEnum {
VALUE1("value1", 1),
VALUE2("value2", 2),
VALUE3("value3", 3);
private String name;
private int number;
MyEnum(String name, int number) {
this.name = name;
this.number = number;
}
public static MyEnum findByValue(String name, int number) {
for (MyEnum e : MyEnum.values()) {
if (e.name.equals(name) && e.number == number) {
return e;
}
}
return null;
}
// 可根据自己的需求实现其他方法
}
```
在上述代码中,通过`findByValue`方法可以根据`name`和`number`的值来获取对应的枚举项。
相关问题
java 枚举三个参数值通过两个值获取另一个值
假设你有一个枚举类型如下:
```java
public enum MyEnum {
A(1, 2),
B(3, 4),
C(5, 6);
private final int value1;
private final int value2;
MyEnum(int value1, int value2) {
this.value1 = value1;
this.value2 = value2;
}
public int getValue1() {
return value1;
}
public int getValue2() {
return value2;
}
}
```
其中每个枚举常量都有两个值 `value1` 和 `value2`。要通过其中的两个值获取另一个值,可以写一个静态方法,如下所示:
```java
public static int getValue3(int value1, int value2) {
for (MyEnum e : MyEnum.values()) {
if (e.getValue1() == value1 && e.getValue2() == value2) {
// 找到对应的枚举常量,返回其 value3
return e.getValue3();
}
}
// 没有找到对应的枚举常量,返回默认值或抛出异常
return -1;
}
```
这个方法遍历枚举类型中的每个常量,找到与给定的 `value1` 和 `value2` 相等的常量,然后返回其 `value3` 值。如果没有找到对应的常量,可以返回一个默认值或抛出异常。
java 枚举类型enum 双值
以下是Java枚举类型enum双值的示例:
```java
public enum DoubleEnum {
FIRST(1.0),
SECOND(2.0);
private final double value;
DoubleEnum(double value) {
this.value = value;
}
public double getValue() {
return value;
}
}
```
在上面的示例中,我们定义了一个名为DoubleEnum的枚举类型,它有两个常量FIRST和SECOND,每个常量都有一个double类型的值。我们还定义了一个getValue()方法,用于获取每个常量的值。
使用以下代码可以访问枚举类型中的常量和值:
```java
DoubleEnum first = DoubleEnum.FIRST;
DoubleEnum second = DoubleEnum.SECOND;
System.out.println(first + " value is " + first.getValue()); // 输出:FIRST value is 1.0
System.out.println(second + " value is " + second.getValue()); // 输出:SECOND value is 2.0
```
相关推荐
















