给定以下代码:
private boolean isBlahTrue(final BigDecimal status) {
switch (status.intValue()) {
case 1:
case 2:
case 3:
return true;
case 5:
case 6:
case 7:
return false;
default:
throw new MyAppRuntimeException("Status unknown!");
}
}
我的问题是:这种做法是好是坏?
逻辑是:
1, 2, 3 --> true
5, 6, 7 --> false
但是不管怎样,你可以认为一个简单的IF也可以完成这些事情,比如
if (1,2,3) {true}, else {false}
。
但是我不会检查状态是否为e.g. 4(这必然导致异常)。
我尝试了一些解决方案,比如包含,但是代码没有改进。
我能试试看吗?
2条答案
按热度按时间1cklez4t1#
我建议在这种情况下使用Map。
比如
现在你可以检查了
efzxgjgh2#
你已经拥有的没有什么问题,但是如果你使用的是Java12或更高版本,你可以使用Java12中引入的switch表达式: