Встречается на собеседованиях • сегодня
Как скопировать объект в Java
В Java есть несколько способов копирования объектов:
- Поверхностное копирование (Shallow Copy) - копируются только примитивные поля и ссылки на объекты:
java
MyClass copy = original; // простое присваивание
// или через clone()
MyClass copy = original.clone();- Глубокое копирование (Deep Copy) - создаются новые объекты для всех полей-объектов:
java
// Через конструктор копирования
public MyClass(MyClass original) {
this.field1 = original.field1;
this.field2 = new FieldType(original.field2);
}
// Через сериализацию
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(original);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bais);
MyClass copy = (MyClass) ois.readObject();
text
3. **Библиотечные решения**:
- Apache Commons `SerializationUtils.clone()`
- Gson/Jackson для сериализации-десериализации
Выбор метода зависит от требований к производительности и глубины копирования.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы