what is the use of clone() in real time scenario?
Answers were Sorted based on User's Feedback
Answer / aravindareddy
Clone() method is used to create and return copy of the
object,The Cloneable interface defines a method called Clone
(), which can be used to clone an object in your java
program.The reason for making a copy of an object is if
you’re going to modify that object and you don’t want to
modify the caller’s object. If you decide that you want to
make a local copy, you simply use the clone() method to
perform the operation.
| Is This Answer Correct ? | 28 Yes | 7 No |
Answer / aravinda reddy
Further to above a small update, clone will peform shallow
copy.Please execute below example and check the output.
public class CloneExamples {
public static void main(String[] args) {
ArrayList al = new ArrayList();
for(int i = 0; i < 10; i++ )
al.add(new Int(i));
System.out.println("al: " + al);
ArrayList al1 = (ArrayList)al.clone();
// Increment all al1's elements:
for(Iterator e = al1.iterator(); e.hasNext
(); )
((Int)e.next()).increment();
// See if it changed al's elements:
System.out.println("al: " + al);
System.out.println("al1: " + al1);
}
}
class Int {
private int i;
public Int(int ii) { i = ii; }
public void increment() { i++; }
public String toString() {
return Integer.toString(i);
}
}
o/p:
al: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
al: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
al1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
the old ArrayList and the cloned ArrayList are aliased to
the same objects
| Is This Answer Correct ? | 6 Yes | 8 No |
How is hashcode calculated in java?
What do you understand by casting in java language?
Can you give few examples of final classes defined in java api?
Why does the integer quotient -0/3 yield 0, but the double quotient -0.0/3.0 yields – 0.0?
Hi friends, i am new to java. can you explain how java is secured.
What is a layout manager?
What kind of variables a class can consist of?
When do we use synchronized methods in java?
What are the topics in advance java?
Can we have two methods in a class with the same name?
How do you take thread dump in java?
What are access modifiers?