Эйч
Эйч
  • Эйч Плюс
  • Все менторы
Задачи/Java-разработчик/Глубокое клонирование объекта

Глубокое клонирование объекта

Условие задачи

Необходимо реализовать метод clone(), который создаст глубокую копию объекта Customer.

  1. Клонированный объект не должен ссылаться на те же вложенные объекты (Address, List<CellNumber>).
  2. Все объекты внутри Customer должны быть независимыми копиями.
  3. После клонирования equals() должен возвращать true, но ссылки на вложенные объекты должны быть разными.
javapackage com.jetbulb.interviews;

import java.util.Collections;
import java.util.List;

public class JetbulbInterview {
    public static void main(String[] args) {
        Customer customer = new Customer(
                "123",
                66,
                new Address(1, "Street"),
                Collections.singletonList(new CellNumber("777-555-666", 3.14D))
        );

        Customer clonedCustomer = customer.clone();

        System.out.println(customer.equals(clonedCustomer)); // true
        System.out.println(customer == clonedCustomer); // false
        System.out.println(customer.address == clonedCustomer.address); // false
        System.out.println(customer.number == clonedCustomer.number); // false
    }
}

class Customer implements Cloneable {
    String id;
    int age;
    Address address;
    List<CellNumber> number;
}

class Address implements Cloneable {
    int id;
    String name;
}

class CellNumber implements Cloneable {
    String number;
    double coverage;
}

Профессия

Java-разработчик

Сопроводим до оффера

Умножим шансы на каждом этапе поиска и поможем получить выгодный оффер

Узнать больше

Сервис развития карьеры

Контактыteam@h.careers@hcareers
TelegramVKYouTubeLinkedIn
Сервисы
AI поиск работы newПоиск вакансий newПоиск компаний newКонструктор резюме newВопросы с собеседований newЗадачи с собеседований newГайды к собеседованиям newПроверятор резюме newГенератор сопроводительных new
Поиски себя
Войти в ITКарьерная стратегияПовысить доходПрофориентация
Работа в России
Сопровождение до оффера Найти работу в РоссииРевью портфолиоРевью резюмеТестовое собеседование
Работа за рубежом
Найти работу за границейПомощь в оформлении LinkedInРевью резюме на английскомТестовое собеседование на английском
Навыки
Личный брендОценка навыковРазвитие навыков и компетенций
Поддержка
ВыгораниеОтношения с коллективомОтношения с руководителемСиндром самозванцаСложное увольнение
Для бизнеса
Аудит процессов компанииВыступление на внутреннем мероприятии компанииКонсалтинг бизнеса
Профессии
HRАдминистрированиеАналитикаДизайнИнформационная безопасностьИскусственный интеллектИсследованияКонсалтингКонтентМаркетингМенеджментНаука и образованиеОфисПоддержкаПредпринимательство
Компания
С чем помогаемОтзывы Вопросы и ответыСертификатыВебинарыСтать ментором

Услуги оказывает ООО «Эйч Карьера»
ИНН 9710095807 ОГРН 1227700077340
Адрес: 127006, г. Москва, Старопименовский пер., д. 18, стр. 2, помещ./ком./этаж I/19/2
Платформа принадлежит ООО «Эйч Карьера»

Copyright © 2020-2025 Сервис развития карьеры Эйч. Все права защищены.

Политика конфиденциальностиПользовательское соглашениеОферта