gpt4 book ai didi

java - 克隆对象也会克隆新数据,如何防止这种情况发生?

转载 作者:行者123 更新时间:2023-12-01 15:22:48 25 4
gpt4 key购买 nike

编辑:

谢谢各位,明白了!看来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;

并将 worldbody 对象传递给我已经克隆的 bodyData 对象。

然而,当我尝试从 BodyDataObj 对象中访问这个世界和 body 对象时,我得到一个 NullPointException,就好像它们是克隆的空白一样。

有什么想法可以解决这个问题吗?

谢谢!

最佳答案

从评论的答案来看,答案似乎是这样的:

b.getWorldCenter() 返回 null。

关于java - 克隆对象也会克隆新数据,如何防止这种情况发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10636673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com