我想知道是否可以使用Array作为常量来定义枚举;请参阅以下代码摘录。
这不会因非法启动表达式错误而编译。愿任何人帮助我吗?。
非常感谢
public enum Currency
{
*****PENNY(1, {"one", "oneone"}),*
NICKLE(5, {"five"}),
DIME(10, {"ten"}),
QUARTER(25, {"twentifive"});****
private int valueInteger;
private String[] valueString;
private Currency(int valueInteger, String[] valueString) {
this.valueInteger = valueInteger;
this.valueString = valueString;
}
}
答案 0 :(得分:1)
是的,你只需要初始化它们。例如,
NICKLE(5, new string[]{"five"})
答案 1 :(得分:0)
对于这个用例,我会改用vararg方法:
public enum Currency {
PENNY(1, "one", "oneone"),
NICKLE(5, "five"),
DIME(10, "ten"),
QUARTER(25, "twentifive");
private int valueInteger;
private String[] valueString;
private Currency(int valueInteger, String... valueString) {
this.valueInteger = valueInteger;
this.valueString = valueString;
}
}