这不起作用:
public enum TestEnum {
FOO({"foobar","foobaz"}); //This fails
private final String[] indicators;
TestEnum(String[] indicators){
this.indicators = indicators;
}
private String[] getIndicators(){
return this.indicators;
}
上面的代码编译失败。下面的编译成功
public enum TestEnum {
FOO(new String[3]); //This is okay. Why?
private final String[] indicators;
TestEnum(String[] indicators){
this.indicators = indicators;
}
private String[] getIndicators(){
return this.indicators;
}
我的目标是提供一个可以由多个字符串表示的枚举。我知道EnumMap
,但它不会在这里工作,因为我感兴趣的映射来自<String,enum>
。我也知道我可以使用普通的Map
. 我想我主要是好奇为什么 1 号不适合我。