![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: 2 Всего: 4 |
есть переменная а класса А
ей присваивается значение б в объектах класса А есть переменная х х объекта б приcваевается значение у потом а присв. значение с х в с получает значение z потом оказывается что оба объекта б и с имеют x=z почему? как этого избежать? A a= null a = b b.x = y a = c c.x = z в итоге в b: x=z в c: x=z |
|||
|
||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 33 Всего: 81 |
Переменная x в классе A объявлена как static?
PS: Лучше код смотреть, он как то понятнее. |
|||
|
||||
| ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: 2 Всего: 4 |
вот код
node.getDashVarName() задает имя переменной переменные могут быть одинаковы в разных предикатах каждая EffectOp имеет несколько Predicate.. Predicate может быть Assignment и надо, чтобы в этом случае в актуальную операцию в хэш-таблицу был занесен этот актуальный предикат но в конце оказывается, что все операции имеют в таблице самый последний предикат, который соответствует данному имени переменной в общем если я в операцию1 заношу пару (х, предикат1) а в операцию2 (х, предикат2) то в конце они обе имеют (х, предикат2) |
|||
|
||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 33 Всего: 81 |
Так у вас HashMap<String,ASTEffectPredicate> dashVarPred в классе ASTEffectOp объявлена статической. Это значит, что во всех объектах класса ASTEffectOp используется один и тот же экземпляр HashMap. Поэтому
Это сообщение отредактировал(а) ivg - 7.9.2008, 16:14 |
|||
|
||||
| ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: 2 Всего: 4 |
ivg,
точно! спасибо.. это я так время сэкономила и перенесла строку из другого класса, а статик забыла удалить |
|||
|
||||
![]()
|
| Правила форума "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. |