Подскажите, как в моем случае оптимизировать код Java и убрать из него дублирующиеся участки?
Ситуация, есть класс и методы в нем:
public class MyClass {
public MyClass {...}
public ... method1(...) {
...
while(...) {
...
for(...) {
method4(...);
}
}
}
public ... method2(...) {
...
while(...) {
...
for(...) {
method5(...);
}
}
}
public ... method3(...) {
...
while(...) {
...
for(...) {
method6(...);
}
}
}
public ... method4(...) {...}
public ... method5(...) {...}
public ... method6(...) {...}
}
Код в методах 1, 2 и 3 совпадает, кроме вызова методов 4, 5 и 6 внутри циклов.
Вопрос, можно ли как-то совпадающий код объединить в рамках одного метода и просто его вызывать внутри методов 1, 2, 3 с передачей внутрь, соответственно, других методов (4, 5 и 6, в данном случае)? Просто передавать метод, как параметр, нельзя, насколько я знаю. Других идей, как красиво это сделать у меня тоже пока нет. Подскажите, пожалуйста.