Javaでリフレクションを使わずに
引数を変えることで呼び出す処理を変えるには
(1)のようにswitch文で分岐する、(2)のように処理を実装したクラスを渡す
以外にどのような方法が考えられますか?

(1)
public void method(int arg, Object obj)
 switch(arg){
  case A:
   //処理A
  case B:
   //処理B
  ・・・・
 }
}

(2)
public void method(Proc proc, Object obj) {
 proc.execute(obj)
 ・・・・
}
class ProcA implements Proc { ・・・・ }
class ProcB implements Proc { ・・・・ }