@Timed泛型类的代理实现的方法参数为java.lang.Object,而不是模板

时间:2018-12-25 12:16:34

标签: java generics proxy-classes timed

我有如下通用名称:

interface Intf1<T> {
  void method1(T t);
}

和实现:

class Class1 implements Intf1<ClassT> {

  @Timed
  @Metered
  void method1(ClassT theParam) {
     // do something with theParam
  }

}

现在,由于上述method1为@Timed,因此我获得了使用相同方法名称创建的代理类。但是参数类型是java.lang.Object而不是ClassT。

我知道这与泛型有关。有人可以解释为什么Proxy类在这里将java.lang.Object作为method1的参数类型吗?

0 个答案:

没有答案