我在一个混淆的 jarfile 中有SingletonA
andSingletonB
类。它们没有实现相同的接口,也不是同一个超类的子类,但它们确实具有相似的特征,而最初的程序员却忽略了这些特征。
我希望能够将它们作为参数传递给这样的方法:
public void method(SingletonObject singleton) {
//do stuff with singleton
}
但是,我能想到的唯一可行的方法是:
public void method(Object singleton) {
if(singleton instanceof SingletonA) {
SingletonA singletonA = (SingletonA) singleton;
// do stuff with singletonA
}
else if(singleton instanceof SingletonB) {
SingletonB singletonB = (SingletonB) singleton;
//do exact same stuff with singletonB
}
else {
return;
}
}
由于底部的例子很糟糕,我该怎么做才能让它看起来更像顶部。