使用反射从超类中的子类定位方法

时间:2011-04-20 02:17:52

标签: java reflection annotations udp rmi

我正在开发一个与KryoNet RMI一起使用的反射系统,允许我进行不可靠的对象调用。但是,这依赖于使用注释将各种方法标记为“@Unreliable”。

这里的问题是,如果我将方法地图存储到描述注释的“信息”中,那么子类中的方法与其超类中的方法不匹配,因此无法找到Method。由于方法的复杂性,需要所有可用的信息来区分方法,但我不需要树中的类型信息 - 只需要纯方法数据,名称,参数和返回类型。

是否有任何API可用于创建更灵活的Method对象(可能在外部库中),还是我必须自己编写代码?

干杯,
克里斯

1 个答案:

答案 0 :(得分:1)

我通过迭代子类并使用方法的名称和参数类型手动定位方法来修复此问题,以便将它们也添加到同一个地图中(地图将方法存储到方法信息中,所以我使用相同的方法多个方法键的信息实例。)