我有一个类似于下面的枚举
public enum MyEnum {
ABC("some string"),
DEF("some string"),
GHI("another string");
String value;
private MyEnum(String value) {
this.value = value;
}
public String value() {
return this.value;
}}
而且我想使用枚举的值作为键而不是枚举本身来制作 util:map。所以地图看起来像这样:
"some string" -> "mapped output 1"
"another string" -> "mapped output 2"
我知道我可以使用 util:constant 来获取枚举,但我需要枚举所代表的值。
所以我现在的配置文件看起来像这样:
<util:constant id="firstKey" static-field="package.MyEnum.ABC"/>
<util:constant id="secondKey" static-field="package.MyEnum.GHI" />
<util:map id="myMap">
<entry key-ref="firstKey" value="mapped output 1" />
<entry key-ref="secondKey" value="mapped output 2" /></util:map>
有没有办法我可以获得 .value() 甚至可以访问 value 属性以将其用作键?
我尝试将密钥类型声明为字符串,希望 spring 能解决它,但它似乎只是忽略了这一点。
使用 spring 2.5.1,我无法修改枚举