我遇到过一种情况,我有一个Method来自接口定义的Method实例和一个来自实现类的相同方法的实例。
例如:
public interface Foo {
void bar();
}
public class FooImpl implements Foo {
public void bar() {
System.out.println("foobar");
}
}
使用反射,我从接口获得了一个Method实例,并从. 本质上,我需要考虑这些相等,但显然该方法表明它们不相等。barFooFooImplMethodsequals
具体来说,我需要一种方法来确定Method通过反射获得的给定是否覆盖了超类/接口Method。
我目前正在使用一种解决方法,通过从给定类中找到“最少派生”方法来完全避免这种情况,但我想知道是否有更优雅的解决方案。