public enum Sole{
Zero,One,Two
}
public void func1(){
for(i=0;i<2;i++){
func2(i);
}
}
pubilc void func2(){
switch(i){
case Sole.Zero:
println(Sole.Zero);
case Sole.One
println(Sole.One);
case Sole.Two):
println(Sole.Two);
}
}
以上是我准备这么写的,但是 case那一句就会报错,java 的case 不是说支持 枚举型么,为何会编译不过
java 枚举case有关的问题
答案:4 悬赏:80 手机版
解决时间 2021-04-12 09:55
- 提问者网友:送舟行
- 2021-04-11 09:22
最佳答案
- 五星知识达人网友:鱼芗
- 2021-04-11 10:49
记住,枚举值是对象,0是一个数字,还没包装,就连对象都不是,你觉得这俩能匹配?
全部回答
- 1楼网友:十鸦
- 2021-04-11 12:42
java中枚举类型和类差不多,不过它的对象都是该枚举类型中定义好的那些个属性,调用的时候用该枚举类型名点枚举类型中的属性就可以调用到了【很想类来调用该类的静态成员一样】,注:在switch(paramter){}。。。参数只能是int ,integer,byte,char以及枚举类型,字符串好像在jdk1.7中才能支持!
- 2楼网友:玩家
- 2021-04-11 11:18
case Sole.Two): 是不是多了个括号
case Sole.One是不是少了个:
仔细点
另外看看要不要写break;
- 3楼网友:猎心人
- 2021-04-11 10:56
java中的enum不会直接转换成整数。
你可以直接在func1中这样写:
switch(Sole){
case Zero:
println(Sole.Zero);
break;
case One
println(Sole.One);
break;
case Two:
println(Sole.Two);
break;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯