我能以某种方式将所有字段值从一个对象移动到另一个对象而不使用反射吗?所以,我想做的是这样的事情:
public class BetterThing extends Thing implements IBetterObject {
public BetterThing(Thing t) {
super();
t.evolve(this);
}
}
Run Code Online (Sandbox Code Playgroud)
因此,该evolve方法会将一个类演变为另一个类.一个说法是<? extends <? extends T>>,其中T的类的对象,你打电话evolve的.
我知道我可以用反射来做到这一点,但反射会伤害表现.在这种情况下,Thing类在外部API中,并且没有方法可以将所有必需字段从它复制到另一个对象.