切换具有多个值的案例

时间:2015-07-01 12:48:43

标签: java switch-statement case

是否有类似case语句的数组,并将其作为单个case语句放入switch-suppose

String[] statements={"height","HEIGHT"};

然后

switch(code){
 case statements: 
  //code here
  break;
 case something_else:
  break;
}

所以如果我们在String数组中添加值,那么它会自动匹配switch中的那个数组吗?喜欢

  var1||var2||whatever //accessed from array or anything else for matching

是否有类似这样的实现?

4 个答案:

答案 0 :(得分:6)

您可以删除中断以获得OR

switch(code){
 case case1:   
 case case2:
    doSomething();
  break;
}

答案 1 :(得分:1)

我认为在这种情况下我不会接受转换。 我可能会做这样的事情

if(Arrays.asList(yourArray).contains(yourValue)){
   //do something
}else{
   //do something else
}

答案 2 :(得分:0)

根据Java Documentation

  

开关使用byte,short,char和int原始数据   类型。它也适用于枚举类型(在枚举类型中讨论),   String类,以及一些特定的包装类   原始类型:字符,字节,短整数和整数(在   数字和字符串)。

除非您可以将数据归结为其中之一,否则您可以使用。你可以随时打破语句数组中的内容,但是你无法使用数组使交换机动态化。

答案 3 :(得分:-1)

切换案例陈述不会中断,除非您特别要求。

因此,对于您的情况,您可以将其用作解决方法,

switch(code){
 case "height":
 case "HEIGHT": 
 case "weight":
  //code here
  break;
 case something_else:
  break;
}