复制不引用的对象值

时间:2017-11-17 10:48:54

标签: java search

public class Track {int size; int count; Luggage front; Luggage rear}

class Luggage {String name; Luggage next; Luggage prev;}

class Cart {int position; Luggage luggage;}

class Step {
   Cart cart; 
   Track track[]; 
   String moves = "";}

我试图制作一个难以解决问题的程序。为此,我将队列中的元素排队,可以通过STEP进行所有不同的移动。每次转弯可以进行5次不同的移动,STEP保留所有值,但STEP中的值是进一步指向对象的对象。

如何复制对象Step,其中包含对对象内部的进一步引用? (每回合我必须从本回合的STEP中制作5个不同的STEP)

1 个答案:

答案 0 :(得分:0)

通常,在Java中,您可以clone()实现Cloneable接口的对象。但是,clone()的默认实现仅执行浅拷贝(例如,如果对象包含数组,则将生成数组的副本,但不包含数组中的元素)。如果您想要执行深度克隆,则必须覆盖clone()方法以自行执行此操作(您通常希望覆盖clone()以使其公开,因为它默认受到保护)。