![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
agR |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.7.2006 Где: Киев Репутация: 2 Всего: 2 |
Вот стало интересно.... изменилось ли поведение метода clone() в JDK 1.6 по сравнению с 1.5.
Поведение clone() ver 1.5 когда-то описал LSD Решил посмотреть как будет себя вести код в 1.6:
Так вот, казалось бы для "глубокого" клонирования закомментированная строка необходима, но она ровным счетом ничего не делает - результат не меняется. Может теперь при работе с методом clone() уже не надо "лишних телодвижений"? Или это я что-то не доглядел? |
|||
|
||||
_sten_ |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 184 Регистрация: 29.9.2006 Репутация: нет Всего: 3 |
А что не так?
Выводит:
я так понимаю тебя смущает то что не изменилась дата в b1 After change ??? Так все правильно. После вызова метода clone() проперти birthday класса Birthday для b2 ссылается на тот же объект что и b1(как и описано в спеке). Ты вызвал:
который выпонил метод:
то есть создал новый экземпляр класса Date и теперь проперти birthday ссылается на него. Если бы ты сделал так:
то тогда дата в b1 тоже изменилась. Метод клон создает новый объект, и делает так что бы все его проперти ссылались на те же объекты. Для дип клонирования закоменченая строка нужна и от "лишних телодвижений" никуда не дется. Проста для классов Integer, String создается впечатление что дип клонирование происходит автоматически потому что они неизменяемые. Это сообщение отредактировал(а) _sten_ - 7.12.2008, 15:57 --------------------
WARNING: Condition 'to_be || !to_be' is always 'true' ! |
||||||||
|
|||||||||
agR |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.7.2006 Где: Киев Репутация: 2 Всего: 2 |
Спасибо.
Вот этот момент:
не учел. В след. раз буду внимательней ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |