编辑:
谢谢你们,得到它!看来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
和body
个对象传递给已经克隆的bodyData
对象。
然而,当我尝试从BodyDataObj
对象中访问此世界和正文对象时,我得到一个NullPointException
,好像它们是克隆的空格一样。
任何想法如何解决?
谢谢!
答案 0 :(得分:1)
从评论的答案来看,答案似乎是这样的:
b.getWorldCenter()返回null。