Answer Posted / vineesh ktda
1. Difference between shallow copy and deep copy
. 2. How to implement shallow copy ?
3. How to mplement deep copy? .
A shallow copy creates an identical copy (new instance) of an object .If an object contains reference (pointer) type fields pointing to other objects then it copies only the references and not the objects to which they point. The result is two objects that point to the same contained object. That means the original object and cloned object maintains a seperate copy for value (primtive) type fields , references and shares common place for value of reference type fields. So in shallow copy , the changes in the value of reference type fields of cloned object also reflects in the original objects and vice versa. Shallow copy can be implemented by using the clone method of an Object class
A deep copy creates an identical copy of an object including the references and the objects they point to , as well as any references or objects contained within that and so on. In deep copy , the changes in the value of reference type fields of cloned object does not reflect in the original objects and vice versa.. There is no direct method for deep copy . But there are many ways to implement the deep copy.
1. You can use constructor of an object to create a second object with property values taken from the first object.
2. You can use clone method of an Object class to create a shallow copy of an object , and make it deep copy by assigning new objects whose values are the same as the original object to reference type fields. The DeepCopy method in the example illustrates this approach.
3. Use Serialization technique ie. Serialize the object , and then deserialize to a different object variable which implements deep copy.
Is This Answer Correct ? | 0 Yes | 1 No |
Post New Answer View All Answers
What purpose do the keywords final, finally, and finalize fulfill?
How to create packages in java?
What are bind parameters?
Why arraylist is not synchronized in java example?
What is a function argument in java?
Can bool be null?
How many arguments can a method have java?
How do you reverse a string in java without using string buffer?
What is the purpose of the System class?
What is null object in java?
what is function overloading in java?
What is contract between hashcode and equal method?
How many bytes is a string in java?
Which software is used for java programming?
What is a dynamic array java?