_field_变量的深层副本

时间:2015-02-27 13:39:40

标签: java arrays serialization deep-copy

我有一个对象,当调用其构造函数时,使用传递给构造函数的参数中的数据填充其字段。

// the public constructor
public Looper(Voxel [][][] body, Seed[] seeds) {

在这个构造函数中,我想使用参数 body 中包含的值填充两个3D数组 this.body this.body2

我需要一个深层副本,因为它们的字段body和body2将被区别对待然后进行比较。

我想出了一个关于body数组的迭代。由于我无法在我的机器上运行代码,因此我无法验证这是否是深层副本:

public Looper(Voxel [][][] body, Seed[] seeds) {
        this.temperature = Config.StartTemp;
        this.body = body;
        for(int xxx=Config.ptvXLow-0; xxx < Config.ptvXHigh+0; xxx++) {
            for(int yyy=Config.ptvXLow-0; yyy < Config.ptvXHigh+0; yyy++) {
                for(int zzz=Config.ptvXLow-0; zzz < Config.ptvXHigh+0; zzz++) {
                    this.body2[xxx][yyy][zzz] = body[xxx][yyy][zzz];
                }
            }
        }

这是实现字段深层副本的正确方法吗?

是否可以忽略数组由Voxel.class实例组成的事实?

0 个答案:

没有答案