首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求教枚举的使用有关问题

2012-09-28 
求教枚举的使用问题不知道为什么以下用法是错误的提示case expressions must be constant expressionsJava

求教枚举的使用问题
不知道为什么以下用法是错误的
提示
  case expressions must be constant expressions

Java code
public class TestEnum {    public static void main(String[] args) {        int val = 2;        switch (val) {        case INT.ONE.getVal():            break;        default:            break;        }    }}enum INT {    ONE(1), TWO(2), THREE(3);    private int val;    private INT(int val) {        this.val = val;    }    /**     * @return the val     */    public int getVal() {        return val;    }}


[解决办法]
你应该这样用[code=Java][/code]public class Test11 {

public static void main(String[] args) {
INT v=INT.ONE;
int val;
switch (v) {
case ONE:
val=1;
break;

default:
break;
}
}
}

enum INT {
ONE(1), TWO(2), THREE(3);

private int val;

private INT(int val) {
this.val = val;
}

/**
* @return the val
*/
public int getVal() {
return val;
}

}
[解决办法]
case的分支需要是常量值,而不能是变量值,
这就是理由。。。

探讨

1.2楼的用法我当然是知道的
只是我不知道我这样为什么有问题

热点排行