Note: Cloning the lists, isn’t the same as cloning the elements in the list.
None of these approaches work the way you want them to:
//1 people = new ArrayList<Cool>(other.people); //2 people = new ArrayList<Cool>(); for(Cool p : other.people) { people.add(p); }
The approaches above will fill people
such that it contains the same elements as other.people
.
However, you don’t want it to contain the same elements. You want to fill it with clones of the elements in other.people
.
The best approach would be something like this:
people = new ArrayList<Cool>(other.people.size()); for(Cool p : other.people) { people.add((Cool)p.clone()); }
Make sure Cool
implements Cloneable
. Override clone()
if necessary.
Related Posts:
- Java default constructor
- Make copy of an array
- Does the Project Lombok @Data annotation create a constructor of any kind?
- How do I copy an object in Java?
- Why do this() and super() have to be the first statement in a constructor?
- Can an abstract class have a constructor?
- How do I do a deep copy of a 2d array in Java?
- implicit super constructor Person() is undefined. Must explicitly invoke another constructor?
- Java Error: The constructor is undefined
- How do I call one constructor from another in Java?
- Hide Utility Class Constructor : Utility classes should not have a public or default constructor
- What’s wrong with overridable method calls in constructors?
- How to format strings in Java
- What exactly is Apache Camel?
- What is an instance variable in Java?
- How does the Java ‘for each’ loop work?
- How does the Java ‘for each’ loop work?
- What does “Could not find or load main class” mean?
- How do I create a file and write to it?
- When to use LinkedList over ArrayList in Java?
- Cannot make a static reference to the non-static method fxn(int) from the type Two
- How to implement a tree data-structure in Java?
- Difference between StringBuilder and StringBuffer
- How can I use pointers in Java?
- How do I generate random integers within a specific range in Java?
- “Exception in thread “main” java.lang.IndexOutOfBoundsException: Index: 0, Size: 0″ with ArrayList?
- Raising a number to a power in Java
- How to remove single character from a String
- Unsupported major.minor version 52.0 [duplicate]
- How do I limit the number of decimals printed for a double?
- Unfortunately MyApp has stopped. How can I solve this?
- exception in thread ‘main’ java.lang.NoClassDefFoundError:
- java.io.FileNotFoundException: the system cannot find the file specified
- How to parse this string in Java?
- How to match “any character” in regular expression?
- Double array initialization in Java
- Service will not start: error 1067: the process terminated unexpectedly
- Explain the use of a bit vector for determining if all characters are unique
- Convert java.util.Date to String
- Returning an empty array
- Java Security: Illegal key size or default parameters?
- Could not reserve enough space for object heap
- Eclipse: Java was started but returned error code=13
- Why java unknown: import org.apache.commons.codec.binary.Base64;?
- Extracting .jar file with command line
- Unable to create requested service [org.hibernate .engine.jdbc.env.spi.JdbcEnvironment]-MySQL
- What is the difference between a local variable, an instance field, an input parameter, and a class field?
- Error: Selection does not contain a main type
- Java, “Variable name” cannot be resolved to a variable
- JRE 1.7 – java version – returns: java/lang/NoClassDefFoundError: java/lang/Object
- Good Java graph algorithm library?
- Integrate Ant builder into Eclipse: Error “Variable references empty selection”
- Spring Maven clean error – The requested profile “pom.xml” could not be activated because it does not exist
- Java Class File Editor
- Error Importing SSL certificate : Not an X.509 Certificate
- How do I draw a triangle?
- Bubble Sort Manually a Linked List in Java
- Checking Password Code
- java – how to create and manipulate a bit array with length of 10 million bits
- What is the difference between object-oriented languages and non object-oriented languages?
- Installing jdk8 on ubuntu- “unable to locate package” update doesn’t fix
- Java – Access is denied java.io.FileNotFoundException
- Static Block in Java
- What does Scanner input = new Scanner(System.in) actually mean?
- Class ‘Room’ is abstract; cannot be instantiated
- Creating a maze solving algorithm in Java
- IDEA: javac: source release 1.7 requires target release 1.7
- Can we write our own iterator in Java?
- local variables referenced from a lambda expression must be final or effectively final
- how to fix Cannot call sendRedirect() after the response has been committed?
- Correct way to add external jars (lib/*.jar) to an IntelliJ IDEA project
- difference between equals() and hashCode()
- Adding days to a date in Java
- The C# Shorthand getters and setters
- What’s the reason I can’t create generic array types in Java?
- How to pass an object from one activity to another on Android
- Finding the size of a char array in Java
- Android For loop
- Java project in Eclipse: The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
- When/why to call System.out.flush() in Java
- Throwing multiple exceptions in Java
- fixing errors on a program to call methods in java
- How to Set the Background Color of a JButton on the Mac OS
- How to easily convert a BufferedReader to a String?
- How can I calculate a time difference in Java?
- Detecting a long press with Android
- How to increase the size of an array in Java?
- Cannot invoke toString() on the primitive type int
- Split string into array of character strings
- intellij idea – Error: java: invalid source release 1.9
- How fix Error:java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:
- Is it okay to throw NullPointerException programmatically?
- Android: how to create Switch case from this?
- Read next word in java
- Convert float to double without losing precision
- Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap space
- How do the post increment (i++) and pre increment (++i) operators work in Java?
- Manually throw an exception
- Spring boot: Unable to start embedded Tomcat servlet container
- How does paintComponent work?