Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/12: Рейтинг темы: голосов - 12, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 15.04.2009
Сообщений: 18
1

Простой способ глубокого клонирования?

16.03.2011, 19:17. Просмотров 2171. Ответов 5
Метки нет (Все метки)

Подскажите пожалуйста, есть ли в Java возможность сделать глубокое копирование таким способом, как в C# при помощи классов
BinaryFormatter и MemoryStream
C#
1
2
3
4
5
 BinaryFormatter formatter= new BinaryFormatter();
 MemoryStream stream = new MemoryStream();
 formatter.Serialize(stream, clonObject);
 stream.Seek(0, SeekOrigin.Begin)
 formatter.Deserialize(stream);
То есть, чтобы избежать процесса разбора конкретного объекта и клонирования его полей, что можно сделать, насколько я понимаю, только при помощи reflection. Есть что-то подобное в Java типа приведенного кода C#?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2011, 19:17
Ответы с готовыми решениями:

Самый простой способ чтения файла в одну строку
Подскажите самый простой способ чтения файла в одну строку, не нашёл подходящий класс.

Существует ли еще простой способ ввести два числа
через пробел, кроме этого? Scanner i = new Scanner(System.in); ...

Типы клонирования в c# — Поверхностное и неполное(не считая глубокого)?
Автор видео курса который я смотрю - сначала говорил что, существует два типа клонирования -...

Наиболее простой способ
Есть цифра, как проверь. Делится ли на 2 или нет, получаем ли мы целое число или получаем с...

5
Эксперт С++
2328 / 1701 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
16.03.2011, 19:28 2
aleks.farrier, какой-то череж*пный способ клонирования. В .Net объекты поддерживающие клоннирования должны реализовывать интерфейс ICloneable. Ваш способ ну ни в какие ворота.
В Java у Object есть метод clone - реализуйте его для создания копии.
0
34 / 34 / 10
Регистрация: 11.05.2010
Сообщений: 110
16.03.2011, 22:03 3
Зачем пытаться сводить реализацию к схожей в другом языке ? (C#). У тебя есть Java. В ней сказано, что для клона у обьекта есть специальный метод. Что неясно непонятно.
0
632 / 524 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
17.03.2011, 09:46 4
Метод clone(), кстати, не осуществляет глубокое клонирование.
0
Эксперт С++
2328 / 1701 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
17.03.2011, 10:55 5
aleksandy, это зависит от того как реализовал данный метод разработчик класса.
0
632 / 524 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
17.03.2011, 20:26 6
CyBOSSeR, я имел ввиду поведение по умолчанию. А так-то да, можно что угодно навертеть...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2011, 20:26

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Блокировать по ip-адресу. Простой способ
Здравствуйте. Есть веб-сервер nginx+apche на FreeBSD. Неоднократно сталкиваюсь с ситуацией когда с...

Простой способ записи данных
Добрый день. Ребят тут я задумался немного о том как лучше всего хранить историю записей. INI...

Самый простой способ рисования
Здравствуйте. Недавно перешёл на Qt и вот появилась потребность нарисовать обычный прямоугольник...

Самый простой способ шифрования файла
как сделать чтоб при открывании файла текстовым редактором вместо понятных слов созданных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.