编辑:
谢谢各位,明白了!似乎从旧对象调用了 explode() 函数,而不是新的克隆!:)
我有一个此类对象的哈希表
class BodyDataObj implements Cloneable {
World world;
Body body;
protected BodyDataObj clone() throws CloneNotSupportedException {
return (BodyDataObj) super.clone();
}
}
需要时,我从哈希表中克隆所需对象
BodyDataObj bodyDataMaster = bdoTable.get(name);
BodyDataObj bodyData = null;
try {
bodyData = (BodyDataObj) bodyDataMaster.clone();
} catch (CloneNotSupportedException e) {
// Handle error
}
bodyData.world = world;
bodyData.body = body;
并将world
andbody
对象传递给我已经克隆的bodyData
对象。
然而,当我尝试从对象内部访问这个世界和身体对象时BodyDataObj
,我得到一个NullPointException
,就好像它们是克隆的空白一样。
任何想法如何解决这个问题?
谢谢!