Reputation: 298
I have multiple cases in a switch that do the same thing, like so: (this is written in Java)
case 1:
aMethod();
break;
case 2:
aMethod();
break;
case 3:
aMethod();
break;
case 4:
anotherMethod();
break;
Is there any way I can combine cases 1, 2 and 3 into one case, since they all call the same method?
Upvotes: 12
Views: 17826
Reputation: 159754
Sure, you can allow case
clause sections for 1 & 2 to 'fall through' to clause 3 and then break
out of the switch
statement after that:
case 1:
case 2:
case 3:
aMethod();
break;
case 4:
anotherMethod();
break;
Upvotes: 7
Reputation: 46960
It's called the "fall through" pattern:
case 1: // fall through
case 2: // fall through
case 3:
aMethod();
break;
case 4:
anotherMethod();
break;
Upvotes: 4
Reputation: 80166
Below is the best you can do
case 1:
case 2:
case 3:
aMethod();
break;
case 4:
anotherMethod();
break;
Upvotes: 4
Reputation: 234795
case 1:
case 2:
case 3:
aMethod();
break;
case 4:
anotherMethod();
break;
This works because when it happens to be case 1 (for instance), it falls through to case 2 (no break
statement), which then falls through to case 3.
Upvotes: 24