对一个字符串进行不区分大小写的匹配,以匹配一个Java枚举类型。
- 论坛
- 对一个字符串进行不区分大小写的匹配,以匹配一个Java枚举类型。
24 浏览
对一个字符串进行不区分大小写的匹配,以匹配一个Java枚举类型。
Java为每个Enum
public static Day lookup(String day) {
for (Day d : Day.values()) {
if (d.name().equalsIgnoreCase(day)) {
return d;
}
}
return null;
}
有没有一种通用的方式,不使用值缓存或任何其他额外的对象,只编写一次类似上述lookup()方法的静态方法(即,不为每个枚举编写相同的方法),假设values()方法在编译时会隐式添加到Enum
这样一种"通用"lookup()方法的签名将类似于Enum.valueOf()方法,即:
public static
它将准确实现Day.lookup()方法的功能,适用于任何枚举,而无需为每个枚举重新编写相同的方法。