![]() |
Модераторы: javastic, AntonSaburov |
![]() ![]() ![]() |
|
Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: нет Всего: 28 |
Доброго времени суток, господа!
Переделываю для мобилки одну игрушку (гомоку), написанную мною ранее на яве-1.6 и теперь пытаюсь реализовать отмену хода. В исходной версии я делал это так: перед тем, как сделать ход, клонировал объект, в котором у меня находятся все данные о ходах противников, и заносил клон в коллекцию. а когда отменял ход, извлекал этот клон. Тут проблема в том, что в классе Object в j2me я НЕ НАШЕЛ метод clone()! Точнее Netbeans ругался, когда я пытался вызвать этот метод на объекте в мобильном приложении. Был бы признателен, если подскажете, как мне обойти эту трудность! -------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
Mabramyan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 3.7.2007 Где: Алматы Репутация: нет Всего: нет |
А ваши классы имплементят интерфейс Clonable ?
http://www.java-samples.com/showtutorial.php?tutorialid=344 Это сообщение отредактировал(а) Mabramyan - 18.11.2010, 05:54 |
|||
|
||||
Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: нет Всего: 28 |
Дело в следующем: в j2me НЕТУ такого интерфейса. В том-то и проблема: как создать копию объекта не используя Clonеable! Кое-какие мысли по этому поводу у меня появились, но вдруг есть какие-то стандартные решения? Не хочется, знаете ли, изобретать велосипед! -------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
kkorsakoff |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: нет Всего: 14 |
В ME нет ни clone ни clonable. Создайте конструктор, принимающий объект того же класса и вручную присваивайте всем полям значения из исходного объекта.
|
|||
|
||||
oxigen |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 12.4.2010 Репутация: 4 Всего: 4 |
Идея с использованием clone() мне вообще кажется не слишком удачной.
Вы должны сохранять состояние только тех полей, значение которых необходимо для отмены хода. Но никак не весь объект целиком. |
|||
|
||||
Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: нет Всего: 28 |
Да, согласен, клонирование тут - не совсем удачное решение, т. к. ресурсоемко. Что же, последую рекомендации г-на kkorsakoff'a, тем более, что я так и думал поступать.
Спаасибо всем, тему закрываю. -------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
Pawl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 649 Регистрация: 22.4.2008 Где: Витебск Репутация: нет Всего: 28 |
YESSS! У меня получилось! Именно так, как советовал г-на kkorsakoff!
-------------------- В действительности всё совсем не так, как на самом деле |
|||
|
||||
![]() ![]() ![]() |
FAQ раздела лежит здесь! |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |