這是我不能左右我的頭,現在我有這樣的事情:基於一個整數值,用不同的方法
boolean method1(int a){
//something
returns true;
}
boolean method2(int a){
//something
returns true;
}
for (int i; i<100; i++){
switch (someInt){
case 1: boolean x = method1(i);
case 2: boolean x = method2(i);
}
}
我想什麼是採取轉出循環,如該someInt將保持不變,爲每一個我,所以需要進行一次決定,但我需要爲每一個我要檢查X,所以我會需要這樣的東西:
switch (someInt){
case 1: method1(); //will be used in loop below
case 2: method2(); //will be used in loop below
}
for (int i; i<100; i++){
boolean x = method the switch above picked
}
查找策略模式。基本上,你要編寫的代碼不是很乾淨/我不認爲這是可能的,沒有反思 –
你可以使用Java 8方法引用:https://blog.idrsolutions.com/2015/02/java- 8-method-references-explained-5-minutes/ –
原始版本不錯。其他解決方案實際上都是僞裝的「開關」,並且它們的性能更差:) – ZhongYu