gpt4 book ai didi

java - 在java中重构大型if else语句

转载 作者:行者123 更新时间:2023-12-01 23:14:53 25 4
gpt4 key购买 nike

我正在尝试重构一些代码,这样如果可能的话,我就没有大的 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;

如果这有道理的话。

最佳答案

创建一个值数组并执行类似的操作

if(Character.getNumericaValue(num) < 10) {
return array[Character.getNumericaValue(num)];
} else {
return bar10;
}

当然,如果您确定 num 不会小于 0。

关于java - 在java中重构大型if else语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21403084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com