powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / клонирование объекта
8 сообщений из 8, страница 1 из 1
клонирование объекта
    #34471942
REvilest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каким методом/способом лучше заклонировать объект?
...
Рейтинг: 0 / 0
клонирование объекта
    #34472053
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
REvilestКаким методом/способом лучше заклонировать объект?

есть же у Object метод clone(), если хочешь клонировать свои объекты - перекрой этот метод и напиши каким образом должно происходить клонирование...
...
Рейтинг: 0 / 0
клонирование объекта
    #34472082
REvilest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть вариант чере сериализацию, чтобы код было проще поддерживать

как такой вариант?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
// гоним в байты (сериализуем)
ByteArrayOutputStream os =  new  ByteArrayOutputStream();
ObjectOutputStream oos =  new  ObjectOutputStream(os);
oos.writeObject( this );
			
// поднимаем из потока байт (десериализуем)
ByteArrayInputStream is =  new  ByteArrayInputStream(os.toByteArray());
ObjectInputStream ois =  new  ObjectInputStream(is);
JBModelMetrics<T> result = (JBModelMetrics<T>)ois.readObject();
 return  result;
...
Рейтинг: 0 / 0
клонирование объекта
    #34472088
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
y3uObject метод clone()
+1
...
Рейтинг: 0 / 0
клонирование объекта
    #34472112
BlackWall
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Копирующий конструктор иногда полезнее, и кода бывает меньше надо написать.
...
Рейтинг: 0 / 0
клонирование объекта
    #34472128
REvilest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kachalov y3uObject метод clone()
+1

дык у меня в клоне это и реализовано
...
Рейтинг: 0 / 0
клонирование объекта
    #34472192
y3u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще - это твое личное дело. Самый удобный способ, как тут уже заметили - это копирующий конструктор, как у коллекций. Можешь сделать конструктор от собственного типа, сделать новый инстанс, засетить ручками все филды и вернуть это новый инстанс, а в clone() можешь тупо вернуть новый объект от this. Вообще это все нужно для того, чтобы проконтролировать доолнительно immutable-льность некоторый объектов филдов, чтобы было можно дернуть у них тоже clone() при клонировании... А сериализация никогда не была дешевым процессом с точки зрения ресурсов, так что смотри сам... Посмотри, в общем, как в ядре жабы разработчики делают, к примеру вот показателный пример ArrayList - глянь у него метод clone()
...
Рейтинг: 0 / 0
клонирование объекта
    #34472338
REvilest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хорошо. спасибо
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / клонирование объекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]