Avatar billede kdjweb Nybegynder
13. december 2010 - 10:18 Der er 6 kommentarer og
1 løsning

Gem en statisk klasse vha. serializable

Hej exp.

Jeg har et mindre applikation hvor jeg kan tilføje bruger objekter til mit system, men jeg er faldet over et problem.
Jeg har en statisk variable der hedder nextMemberID, som jeg bruger til at definerer det næste medlems ID (lidt ala. auto increasement fra SQL).
Problemet er at min statiske variable bliver "nulstillet" hver gang jeg genstarter programmet. Den bliver gemt, men ikke loadet ordenligt.

Jeg bruger
public static int nextMemberID = 1;
som overskriver den aktuelle data. Ville gerne have det fungerede omvendt.

Mvh. Kasper
Avatar billede arne_v Ekspert
13. december 2010 - 15:15 #1
Jeg tror vi har et af de tilfaelde hvor static er noget moeg.

:-)

Lav en klasse som indeholder den vaerdi (som ikke static) og hav en reference til en instans af den klasse hvor du skal bruge vaerdien, og save load den instans.
Avatar billede arne_v Ekspert
13. december 2010 - 15:16 #2
Alternativt skal du nok iterere over alt hvad du har loadet lige efter load og finde en passende vaerdi.
Avatar billede kdjweb Nybegynder
13. december 2010 - 15:31 #3
Øv .. ikke lige det svar jeg havde håbet på. :)
Ville ellers være en hel del smartere med en statisk variabel til at definerer det næste medlems ID.

Smid et svar arne :)
Avatar billede arne_v Ekspert
13. december 2010 - 21:11 #4
Hvis du absolut vil voldtage al god programmering, saa kan du override readObject og writeObject, men jeg siger dig - din kode ender op op thedailywtf.
Avatar billede arne_v Ekspert
13. december 2010 - 21:11 #5
og et svar
Avatar billede kdjweb Nybegynder
13. december 2010 - 21:35 #6
Hehe .. :-) Du får det næsten til at lyde slemt at ens kode ender der.
Avatar billede arne_v Ekspert
13. december 2010 - 21:55 #7
Du kender den ikke?

http://thedailywtf.com/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester