![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| devmstr |
|
||||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: нет Всего: 11 |
Есть код вида:
И на него компилер выдает warning:
Что это за поле? -------------------- Think different ©Steve Jobs ![]() |
||||
|
|||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
тут почитай.
|
|||
|
||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: нет Всего: 11 |
powerOn,
Спасибо за статью! Тоесть можно добавить в текст класса:
И все будет правильно? -------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Предупреждения не будет.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: нет Всего: 11 |
Не это я то понял, ну а логически это будет правильно?
-------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
| LSD |
|
||||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Поле serialVersionUID нужно для того, чтобы в случае изменения твоих классов, не было проблем с десериализацие объектов.
Пример у тебя есть класс:
ты его скомпилировал в клиентское и серверное приложения. Теперь тебе понадобилось там еще одно поле, и ты изменил класс (изменил только на сервере, клиента не трогал):
теперь клиент и сервер, не смогут обмениваться данными, т.к. будет ошибка десериализации объекта. У них не будет совпадать serialVersionUID (он динамически вычисляется для класса, по тому какие поля он объявляет). Чтобы исправить ситуацию, можно сделать так:
где значением serialVersionUID должно быть, то значение которое выдаст утилита serialver для старой версии класса. Тогда десериализация снова заработает, но поле i передаваться не будет. При желании можно написать свою логику восстановления класса из потока, как это сделать описано в JavaDoc-е по классу Serializable. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||||
|
|||||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: нет Всего: 11 |
LSD,
Спасобо! Теперь все понял! -------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
![]()
|
| Правила форума "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. |