我想创建一个方法,它:
- 接受枚举类型和字符串作为参数
- 字符串是一个特定枚举实例的名称
- 返回与该名称相匹配的枚举实例。
我尝试过的:
在TestUtil.java
类中:
public static <E extends Enum<E>> E mapToEnum(Enum<E> mappingEnum, String data) {
return mappingEnum.valueOf(E, data); // Not working, needs Class of Enum and String value
}
枚举类型:
public enum TestEnum {
TEST1("A"),
TEST2("B");
private String value;
private TestEnum(String value) {
this.value = value;
}
}
如何运作(例如在主方法中):
TestEnum x = TestUtil.mapToEnum(TestEnum.class, "TEST1"); // TEST1 is the name of the first enum instance
问题是,我无法弄清楚需要传递什么到mapToEnum
方法中,以便我可以从该枚举类型获取valueOf
。
entry
? - Michał KrzywańskimapToEnum
能够适用于每一个枚举?如果它没有值,该怎么办?此外,枚举中的值是私有的,所以你是如何获取它们的? - Michael