已生成类似的类(存根):
Device.RuntimePlatform
这里不可能更改此类。 我想获得像这样的类通过通用方法实现单个接口的可能性:
class A {
int getA() {...}
int getB() {...}
int getC() {...}
}
class B {
int getA() {...}
int getB() {...}
int getD() {...}
}
不想使用反射API。 有人有想法以优雅的方式做到这一点吗?
答案 0 :(得分:4)
您可以为每个类创建一个包装器。如果退出Escape Analysis,它甚至可能不会创建新对象。
interface SimpleAB {
int getA();
int getB();
static SimpleAB wrap(A a) { return new SimpleAB() { /* delegate */ }; }
static SimpleAB wrap(B b) { return new SimpleAB() { /* delegate */ }; }
}
这样,您可以包装A
或B
,然后将它们视为相同。