|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
Клонирование объекта09.06.2013, 18:44. Показов 4497. Ответов 51
Метки нет (Все метки)
есть метод. ему в качестве параметра передается объект (объект типа JEditorPane). в этом методе нужно клонировать этот объект. но метода clone() нет в этом объекте. И разве по умолчанию объекты(типов с API) не implements Cloneable?
0
|
|
| 09.06.2013, 18:44 | |
|
Ответы с готовыми решениями:
51
Клонирование объекта
|
|
77 / 33 / 9
Регистрация: 04.06.2013
Сообщений: 295
|
|||
| 09.06.2013, 22:24 | |||
|
Во 2 это таже самая ссылка которую вы туда поместили ,то есть таким способом клонирование не возможно...! Добавлено через 1 минуту
1
|
|||
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 09.06.2013, 22:26 [ТС] | |
|
Care, я бы так и сделал и не создавал эту тему. Но не хочется как-то делать новый унаследованый класс от JEditorPane.
0
|
|
|
77 / 33 / 9
Регистрация: 04.06.2013
Сообщений: 295
|
|||||||
| 09.06.2013, 22:29 | |||||||
|
например так :
Я не вижу причины почему так не сделать...
0
|
|||||||
|
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
|
|
| 09.06.2013, 22:30 | |
|
Замечания приняты, я был не очень прав.
С интерфейсом Cloneable как-то все мудрено получается.
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 09.06.2013, 22:33 [ТС] | |
|
Care, да. Наверное нужно было сделать так с самого начала и не парится. Просто думал, в этой теме посоветуют что-то другое.
verylazy, странно почему на stackoverflow.com ваш совет (точнее кого-то другого) набрал так много репутации.
0
|
|
|
77 / 33 / 9
Регистрация: 04.06.2013
Сообщений: 295
|
|
| 09.06.2013, 22:37 | |
|
Да и странно что я все 3 месяца как учу Java а на вашем форуме такое не заметили... Мб вы не так поняли? Там я так понял все на инглише?
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 09.06.2013, 22:47 [ТС] | |
|
Care, молодец.
![]() Плохо, что нет другого способа клонировать объект если он не реализует интерфейсы Serializable и(или) Cloneable. Вот интересная статья у вики http://en.wikipedia.org/wiki/Object_copy#In_Java
0
|
|
|
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
|
||||||
| 09.06.2013, 23:12 | ||||||
|
Я еще не до конца уверен, но проверьте сами вашу версию с implements Cloneable.
Все правильно написано?
0
|
||||||
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 09.06.2013, 23:15 [ТС] | |
|
verylazy, по моему это делается не так. Но сейчас посмотрю.
0
|
|
|
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
|
||||||
| 09.06.2013, 23:17 | ||||||
|
Я еще не до конца уверен, но проверьте сами вашу версию с implements Cloneable.
Все правильно написано?
Мне мысль пришла - делаем метод, в котором создается новый объект нужного класса и в него переписываются все нужные поля с объекта-исходника
0
|
||||||
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 09.06.2013, 23:33 [ТС] | |
|
verylazy, да, что-то не складывается. Наверное нужно применять глубокое клонирование.
0
|
|
|
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
|
|
| 09.06.2013, 23:37 | |
|
Нужно решить для чего нужно делать клон объекта. Что бы меньше полей переписывать при инициализации?
И почему нужно пользоваться именно JEditorPane, а не клепать объекты из своего класса, который наследуется от JEditorPane ? Это же удобно, имхо.
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 09.06.2013, 23:42 [ТС] | |
|
мда... вот здесь http://stackoverflow.com/quest... -cloneable все твердят, что лучше не использовать Cloneable
0
|
|
|
77 / 33 / 9
Регистрация: 04.06.2013
Сообщений: 295
|
|
| 09.06.2013, 23:46 | |
|
Если Объект содержит ссылочные переменные то придеться клонировать и их... Почитайте Хорстмана там все написано про это...
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 09.06.2013, 23:47 [ТС] | |
|
verylazy, в твоем коде все верно. В копии создается ссылка на какое-то поле Text объекта jp. И когда ты изменяеш это поле с любого объекта, это видно и с другого объекта. Здесь все верно. Ведь ссылка на это поле одна на 2 обьекта. Здесь нужно быть острожным. Ех, какая это опасная штука клонирование.
0
|
|
|
77 / 33 / 9
Регистрация: 04.06.2013
Сообщений: 295
|
|
| 09.06.2013, 23:48 | |
|
Если не хотите париться с клонированием всех ссылочных переменных то используйте сериализацию ... Вообще зачем вам клонирование??? Мб можно обойтись без этого?
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 09.06.2013, 23:51 [ТС] | |
|
Care,
. Весь бред заключается в том, что мне захотелось клонировать объект, чтобы этот клон сериализовать.
0
|
|
|
77 / 33 / 9
Регистрация: 04.06.2013
Сообщений: 295
|
|
| 09.06.2013, 23:55 | |
|
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 10.06.2013, 00:02 [ТС] | |
|
Care, вы наверное со мной согласитесь, что если пользователь работает в текстовом редакторе (JEditorPane), то сохранять(сериализовать) объект нужно в другом потоке. Но потоки я еще не начал учить. И придумал себе, что нужно сначала клонировать JEditorPane(да, целиком, а не только текст) и его уже сериализовать.
0
|
|
|
77 / 33 / 9
Регистрация: 04.06.2013
Сообщений: 295
|
||
| 10.06.2013, 00:13 | ||
|
Опишите свою программу... А насчет потоков то я сам не профи только знаю про Потоки ввода и вывода , а вот про программные потоки я совсем не как .... Добавлено через 6 минут Если вы хотите сохранять текст ,то мб просто создать temp файл и там хранить текс ,хотя я не понимаю если весь текст можно например хранить в списке или массиве ,а по завершение программы делать что-то типо лога и записывать все содержимое списка (листа,массива) в файл...
0
|
||
| 10.06.2013, 00:13 | |
|
Помогаю со студенческими работами здесь
40
Глубокое клонирование объекта, содержащий массив объектов Клонирование слова в ArrayList
Что значит глубокое клонирование?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|