我可能得到的任何类型的结果,所以我定义枚举这样的java:枚举声明中错误说错位的构造
public enum Result
{
1, 2,3, 4,5, 6,7, 8
}
String resultvalue = calculateResult();
switch (Result .valueOf(resultvalue))
{
}
但我在枚举声明本身歌厅错误说Mispalced构造。
有谁请帮助我
我可能得到的任何类型的结果,所以我定义枚举这样的java:枚举声明中错误说错位的构造
public enum Result
{
1, 2,3, 4,5, 6,7, 8
}
String resultvalue = calculateResult();
switch (Result .valueOf(resultvalue))
{
}
但我在枚举声明本身歌厅错误说Mispalced构造。
有谁请帮助我
这些都是不枚举值有效标识符,基本上是这样。你需要用一个字母或_作为它们的前缀。您还需要使标识符具有唯一性 - 目前您已有0010
四次...
一旦您对此进行了排序,其余的应该可以 - 但如果您还有其他问题,请发布简短但完成程序,而不是片段。
0001
不是有效的Java标识符。 Java标识符不能以数字开头。
虽然我不明白你想达到什么,为什么你有重复。类似的东西(也许使用int而不是String)应该可以工作。
public enum Result {
One("0001"),
Two("0010")
...
private String val;
private Result(String val) {
this.val = val;
}
}
我不知道为什么计算结果会返回一个字符串。我会在这里返回一个int,但是...
String resultvalue = calculateResult();
switch (Integer.parseInt(resultvalue)) {
case 0b0001:
case 0b0010:
case 0b0110:
case 0b1010:
case 0b1100:
}
什么是你试图实现的?如果您需要:
那么你不需要枚举。只要用Integer.parseInt()
,Set.contains()
和switch
来做。
像往常一样,你是一流的 – Gajjini 2012-04-13 16:04:22