0

我有一个静态类,它有许多名称不同但签名相同的方法,例如:

protected static MyResponse [validationMethodName] (MyObject target, MyStatus failStatus) throws Exception {...}

我希望这些特定方法在输入时执行一些代码,例如

target.checkCache(validationMethodName);
target.doOtherStuff();

无需在每种方法中复制此代码。

我正在研究以下技术,并想知道哪种技术可能/最好,或者是否有更好的方法:

  • 为包含的静态类使用代理并通过 InvocationHandler 添加所需的代码
  • 使用特殊的 invoke() 扩展 java.lang.reflect.method 类
  • 只需使用一些初始 methodInit(args) 调用复制每个方法中的代码

我愿意使用通过 Java10 可用的任何核心内容

4

0 回答 0