以下代码块是重复的,但我对此并不感到烦恼:
// method 1
for (int i = 0; i < RUNS; i++) {
otherObject.method1();
}
// method 2
for (int i = 0; i < RUNS; i++) {
otherObject.method2();
}
// method 3
for (int i = 0; i < RUNS; i++) {
otherObject.method3();
}
// method 4
for (int i = 0; i < RUNS; i++) {
otherObject.method4();
}
但是,如果对10种方法重复进行此操作,那将使我感到困扰,因为我在代码中间有这么大的重复块。本能地(也许天真地),我想将其更改为以下内容:
for(int j = 0; j < 4; j++){
for(int i = 0; i < RUNS; i++){
switch(j){
case 0: otherObject.method1(); break;
case 1: otherObject.method2(); break;
case 2: otherObject.method3(); break;
case 3: otherObject.method4(); break;
}
}
}
如果要调用的方法数量或RUNS数量开始变得非常大,那么继续重复运行switch语句是否会变得效率低下?如果是这样,是否有解决此问题的好方法?