diff --git a/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/deep/Address.java b/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/deep/Address.java index 0439c74f3a..5468533f19 100644 --- a/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/deep/Address.java +++ b/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/deep/Address.java @@ -7,19 +7,9 @@ import lombok.*; @AllArgsConstructor @EqualsAndHashCode @ToString -public class Address implements Cloneable -{ - private String streetName; - private String cityName; +public class Address implements Cloneable { + + private String streetName; + private String cityName; - @Override - public Address clone() { - try - { - return (Address) super.clone(); - } catch (CloneNotSupportedException cloneException) - { - throw new RuntimeException(cloneException); - } - } } \ No newline at end of file diff --git a/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/deep/Person.java b/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/deep/Person.java index 2088d538ea..27d2557525 100644 --- a/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/deep/Person.java +++ b/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/deep/Person.java @@ -7,22 +7,22 @@ import lombok.*; @AllArgsConstructor @EqualsAndHashCode @ToString -public class Person implements Cloneable -{ - private String firstName; - private String lastName; - private Address address; +public class Person implements Cloneable { - public Person(Person personToBeCloned) { - Address addressToBeCloned = personToBeCloned.getAddress(); + private String firstName; + private String lastName; + private Address address; - this.firstName = personToBeCloned.getFirstName(); - this.lastName = personToBeCloned.getLastName(); - this.address = new Address(addressToBeCloned.getStreetName(), addressToBeCloned.getCityName()); - } + public Person(Person personToBeCloned) { + Address addressToBeCloned = personToBeCloned.getAddress(); - @Override - public Person clone() { + this.firstName = personToBeCloned.getFirstName(); + this.lastName = personToBeCloned.getLastName(); + this.address = new Address(addressToBeCloned.getStreetName(), addressToBeCloned.getCityName()); + } + + @Override + public Person clone() { return new Person(this); } } diff --git a/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/shallow/Address.java b/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/shallow/Address.java index 9c79ed3383..ca97ce8520 100644 --- a/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/shallow/Address.java +++ b/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/shallow/Address.java @@ -7,19 +7,9 @@ import lombok.*; @AllArgsConstructor @EqualsAndHashCode @ToString -public class Address implements Cloneable -{ - private String streetName; - private String cityName; +public class Address implements Cloneable { + + private String streetName; + private String cityName; - @Override - public Address clone() { - try - { - return (Address) super.clone(); - } catch (CloneNotSupportedException cloneException) - { - throw new RuntimeException(cloneException); - } - } } \ No newline at end of file diff --git a/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/shallow/Person.java b/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/shallow/Person.java index 6b2165d72c..fa54c9ad11 100644 --- a/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/shallow/Person.java +++ b/xxAndreiBranza/shallowCopy-vs-deepCopy/src/main/java/com/baeldung/cloning/shallow/Person.java @@ -7,18 +7,18 @@ import lombok.*; @AllArgsConstructor @EqualsAndHashCode @ToString -public class Person implements Cloneable -{ - private String firstName; - private String lastName; - private Address address; +public class Person implements Cloneable { - @Override - public Person clone() { + private String firstName; + private String lastName; + private Address address; + + @Override + public Person clone() { try { return (Person) super.clone(); } catch (CloneNotSupportedException cloneException) { throw new RuntimeException(cloneException); } } -} +} \ No newline at end of file