私はJavaで些細なことですが、苛立たしい問題を抱えています。次のクラスとメソッドがあるとします。
class A{
void doSth(int[] array){
int index1, index2, index3;
int value1, value2, value3;
if(array[index1] > 10){
//Long code modifies value1, value2, value3
}
if(array[index3] > 100){
//Same long code modifies value1, value2, value3
}
if(array[index2] > 20){
//Same long code modifies value1, value2, value3
}
}
これが何を達成しようとしているのかを無視して、どういうわけかこの冗長性をなくしたいと思います。通常、値をhlperメソッドに渡しますが、ブロックがローカル変数を変更しているため、渡すことはできません。これを単純化する方法はありますか?