Подскажите, когда загружаем объект , loadedObject ( Date , pattern ,temmperature transient)
каким образом присваивается значение temperature к loadedObject ?
почему оно не 0?
ведь transient поля должны стать значениями по умолчанию ?
------------------
Это значит что из данной строки вытаскиваются все значения
string = "Today is %s, and the current temperature is %s C";
this.string = String.format(string, format.format(currentDate), temperature);
но как ???
Igor
25 уровень
почему transient поля не стали значениями по умолчанию ?
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Хорс
23 января 2020, 21:49
Тоже задался этим вопросом. И вот ответ:
Модификатор transient действует только на стандартный механизм сериализации Serializable. При использовании Externalizable никто не мешает сериализовать это поле.
http://java-online.ru/blog-serialization.xhtml
А начал я с того что не мог понять, почему объекты равны если десиарилованный не знает ничего о дате и температуре. Потом понял: эти данные ему и не нужны, вся инфа записана в поле string, а оно сериализуется.
0
Igor
24 января 2020, 09:00
спасибо, теперь все понятно) скопирую твою ссылку в комментарии к задаче
0
Igor
22 января 2020, 12:40
0
Igor
22 января 2020, 12:40
System.out.println(savedObject.string.equals(loadedObject.string));
System.out.println(savedObject.temperature == loadedObject.temperature);
оба выражения true
0