Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание копии объекта, копирование объекта в j2me 
V
    Опции темы
Pawl
Дата 18.11.2010, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Доброго времени суток, господа!
Переделываю для мобилки одну игрушку (гомоку), написанную мною ранее на яве-1.6 и теперь пытаюсь реализовать отмену хода. В исходной версии я делал это так: перед тем, как сделать ход, клонировал объект, в котором у меня находятся все данные о ходах противников, и заносил клон в коллекцию. а когда отменял ход, извлекал этот клон. Тут проблема в том, что в классе Object в j2me я НЕ НАШЕЛ метод clone()! Точнее Netbeans ругался, когда я пытался вызвать этот метод на объекте в мобильном приложении. Был бы признателен, если подскажете, как мне обойти эту трудность!


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
Mabramyan
Дата 18.11.2010, 05:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 3.7.2007
Где: Алматы

Репутация: нет
Всего: нет



А ваши классы имплементят интерфейс Clonable ?
http://www.java-samples.com/showtutorial.php?tutorialid=344

Это сообщение отредактировал(а) Mabramyan - 18.11.2010, 05:54
PM MAIL WWW   Вверх
Pawl
Дата 18.11.2010, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Цитата

А ваши классы имплементят интерфейс Clonable ?

Дело в следующем: в j2me НЕТУ такого интерфейса. В том-то и проблема: как создать копию объекта не используя Clonеable!
Кое-какие мысли по этому поводу у меня появились, но вдруг есть какие-то стандартные решения? Не хочется, знаете ли, изобретать велосипед!


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
kkorsakoff
Дата 18.11.2010, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.10.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 14



В ME нет ни clone ни clonable. Создайте конструктор, принимающий объект того же класса и вручную присваивайте всем полям значения из исходного объекта. 
PM MAIL WWW ICQ   Вверх
oxigen
Дата 18.11.2010, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Идея с использованием clone() мне вообще кажется не слишком удачной.
Вы должны сохранять состояние только тех полей, значение которых необходимо для отмены хода. Но никак не весь объект целиком.
PM MAIL   Вверх
Pawl
Дата 18.11.2010, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Да, согласен, клонирование тут - не совсем удачное решение, т. к. ресурсоемко. Что же, последую рекомендации г-на kkorsakoff'a, тем более, что я так и думал поступать.
Спаасибо всем, тему закрываю.


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
Pawl
Дата 18.11.2010, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



YESSS! У меня получилось! Именно так, как советовал г-на kkorsakoff!


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0805 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.