Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / клонирование объекта / 8 сообщений из 8, страница 1 из 1
19.04.2007, 10:59:25
    #34471942
REvilest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клонирование объекта
Каким методом/способом лучше заклонировать объект?
...
Рейтинг: 0 / 0
19.04.2007, 11:27:38
    #34472053
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клонирование объекта
REvilestКаким методом/способом лучше заклонировать объект?

есть же у Object метод clone(), если хочешь клонировать свои объекты - перекрой этот метод и напиши каким образом должно происходить клонирование...
...
Рейтинг: 0 / 0
19.04.2007, 11:34:10
    #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
19.04.2007, 11:35:28
    #34472088
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клонирование объекта
y3uObject метод clone()
+1
...
Рейтинг: 0 / 0
19.04.2007, 11:42:06
    #34472112
BlackWall
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клонирование объекта
Копирующий конструктор иногда полезнее, и кода бывает меньше надо написать.
...
Рейтинг: 0 / 0
19.04.2007, 11:44:23
    #34472128
REvilest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клонирование объекта
Kachalov y3uObject метод clone()
+1

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


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