Обычно, когда у меня есть объекты с глубокой копией, я использую конструктор копирования. Для нашего задания мы должны сделать ObjectList, хотя инструктор отметил, что такой список нецелесообразно использовать. В любом случае, я столкнулся с проблемой, когда добавляю новый объект в массив. Я пытаюсь создать глубокую копию объекта, прежде чем добавлять его в массив, чтобы предотвратить утечку конфиденциальности, но нет конструктора копирования для класса Object. Например, следующее не работает:Как глубоко скопировать объект типа Object?
Object temp = new Object(insertObjectArgument);
Затем я посмотрел в Object.clone()
, но похоже, что я должен остаться как далеко от того, насколько это возможно. Есть ли способ, которым я могу глубоко скопировать объект типа Object?
Итак, рассказывая нам о создании списка объектов, мой инструктор в основном сделал невозможным предотвращение утечки конфиденциальной информации, учитывая, что любой объект может быть добавлен в мой массив? Невозможно определить, поддерживает ли какой-либо данный объект моей функции вставки функции clone(), правильно? – shtuken
Если у вас есть класс, убедитесь, что он не переопределяет метод 'clone()', часто люди переопределяют метод клонирования, чтобы не допустить глубоких копий своего объекта. –