【发布时间】:2014-01-28 21:41:15
【问题描述】:
我正在尝试重构一些代码,所以如果可能的话,我没有大的 if / else if 语句。
代码如下:
if (Character.getNumericValue(num) == 0 ) {
return bar0;
}
else if (Character.getNumericValue(num) == 1 ) {
return bar1;
}
else if (Character.getNumericValue(num) == 2 ) {
return bar2;
}
else if (Character.getNumericValue(num) == 3 ) {
return bar3;
}
else if (Character.getNumericValue(num) == 4 ) {
return bar4;
}
else if (Character.getNumericValue(num) == 5 ) {
return bar5;
}
else if (Character.getNumericValue(num) == 6 ) {
return bar6;
}
else if (Character.getNumericValue(num) == 7 ) {
return bar7;
}
else if (Character.getNumericValue(num) == 8 ) {
return bar8;
}
else if (Character.getNumericValue(num) == 9 ) {
return bar9;
}
else {
return bar10;
}
基本上它检查 char num 是否等于 int 0-9,然后返回相关的数字 bar(它是字符串类型)。有什么办法可以改善吗?
我希望它像
if (Character.getNumericaValue(num) == x {
return barx;
}
else
return bar10;
如果这有意义的话。
【问题讨论】:
标签: java if-statement refactoring