int枚举类 作为字段,传1得到2
时间: 2024-01-01 09:06:24 浏览: 24
在 Java 中,枚举类是一种特殊的类,它的实例是固定数量的,通常用于表示一组有限的常量。如果你将 int 类型的字段与枚举类结合使用,可以通过在枚举类中定义一个方法来实现将 int 类型的值转换为枚举常量。
例如,假设有一个名为Weekday的枚举类,它表示一周中的每一天,用 0 表示星期日,用 1 表示星期一,以此类推。如果你需要将 1 转换为星期二,可以在Weekday枚举类中添加一个静态方法:
```
public enum Weekday {
SUNDAY(0),
MONDAY(1),
TUESDAY(2),
WEDNESDAY(3),
THURSDAY(4),
FRIDAY(5),
SATURDAY(6);
private int value;
Weekday(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public static Weekday fromValue(int value) {
for (Weekday weekday : Weekday.values()) {
if (weekday.getValue() == value) {
return weekday;
}
}
throw new IllegalArgumentException("Invalid value: " + value);
}
}
```
在上面的代码中,Weekday枚举类中定义了一个私有的value属性,并且通过构造方法来初始化该属性。同时,编写了一个静态方法fromValue(int value),该方法接受一个值参数,遍历所有枚举常量,如果找到对应的值,则返回该枚举常量。如果没有找到对应的值,则抛出IllegalArgumentException异常。可以通过调用Weekday.fromValue(1)来获取星期二的枚举常量。