Para realizar una copia de un objeto y obtener acceso a sus datos, ¿qué es mejor y por qué?Clonación de objetos
1. Crear un nuevo objeto e inicializar con los datos que desea clon a través del constructor
HashSet<String> myClone = new HashSet<String>(data);
2. objeto Clonar como está y echarlo a los del tipo que cree que es ser
HashSet<String> myClone = (HashSet<String>) data.clone();
Posible duplicado de http://stackoverflow.com/questions/2356809/shallow-copy-of-a-map-in-java –
@Mansoor tiene razón: el constructor de copias es definitivamente el camino a seguir. – mre
@mre: el uso de un constructor de copia significa directamente que el nuevo objeto será un objeto del tipo especificado, en lugar de un objeto cuyo tipo coincida con el objeto que se está copiando. En algunos casos, esto puede ser muy malo. Llamar al constructor de copia del Vehículo en un ToyotaPrius producirá un Vehículo con propiedades relacionadas con el vehículo que coincidan con las del ToyotaPrius copiado, pero cualquier información específica de Toyota-Prius en el vehículo original se omitirá en la copia. Tal semántica puede ocasionalmente ser deseada, pero a menudo lo que se desearía sería un ToyotaPrius cuyas propiedades coincidieran con el original. – supercat