ObjectOutputStream
7 отговора
387 прегледа
ObjectOutputStream
привет
ситуацията е следната
:
пращам аз обекти през oos, а на другия край се получава 1 и също ...
ObjectOutputStream oos .....
obj.setValue1("test");
oos.writeObject(obj);
oos.flush();
obj.setValue1("test1");
oos.writeObject(dr);
oos.flush();
И в двата случая на другия край с
ObjectInputStream --> obj.getValue1() ,
получавам "test". ...и по принцип каквото и да сетвам,
накрая винаги излиза първата сетната стойност.
оправя се само, ако всеки път създава нов обект obj , но това някак не ми се вижда да е начинът ...
ситуацията е следната
пращам аз обекти през oos, а на другия край се получава 1 и също ...
ObjectOutputStream oos .....
obj.setValue1("test");
oos.writeObject(obj);
oos.flush();
obj.setValue1("test1");
oos.writeObject(dr);
oos.flush();
И в двата случая на другия край с
ObjectInputStream --> obj.getValue1() ,
получавам "test". ...и по принцип каквото и да сетвам,
накрая винаги излиза първата сетната стойност.
оправя се само, ако всеки път създава нов обект obj , но това някак не ми се вижда да е начинът ...
Редактирано от lLlN на
Re: ObjectOutputStream
От къде се взе това dr?
ObjectOutputStream oos .....
obj.setValue1("test");
oos.writeObject(obj);
oos.flush();
obj.setValue1("test1");
oos.writeObject(dr);
oos.flush();
ObjectOutputStream oos .....
obj.setValue1("test");
oos.writeObject(obj);
oos.flush();
obj.setValue1("test1");
oos.writeObject(dr);
oos.flush();
Re: ObjectOutputStream
...
oos.flush();
oos.reset();
... навсякъде.
идеята е че ти дори и да си го променил Инпута си мисли че му пращаш същия обект и въобще не си прави труда да получи променения. Това е и причината че като създадеш нов, нещата се оправят.
уесно нема
oos.flush();
oos.reset();
... навсякъде.
идеята е че ти дори и да си го променил Инпута си мисли че му пращаш същия обект и въобще не си прави труда да получи променения. Това е и причината че като създадеш нов, нещата се оправят.
уесно нема
Редактирано от идEoт на
Re: ObjectOutputStream
Благодаря!
вече работи така, като си го представях в началото
вече работи така, като си го представях в началото
Re: ObjectOutputStream
Без да съм сигурен, според мен проблема е, че не си override-нала equals/hashCode двойката.
Re: ObjectOutputStream
И аз мисля че по-доброто решение е да се override-не equals/hashCode
reset трансферира информация по sream-а и изтрива кешовете. Може да се окаже че това е по-бавно отколкото създаването на нов обект. За конкретния пример с този малък обект със сигурност е по-бавно.
reset трансферира информация по sream-а и изтрива кешовете. Може да се окаже че това е по-бавно отколкото създаването на нов обект. За конкретния пример с този малък обект със сигурност е по-бавно.