PDA

View Full Version : [java] HashMap


spillo491
22-02-2008, 11:47
Ciao a tutti, ho un problema con le HashMap

Ho una serie di ID (le chiavi) a cui sono associati dei profili; devo prendere un profilo , modificarlo e aggiungere un elemento alla hashMap con questo profilo modiifcato

es

pippo : profilo1
pluto : profilo1Modificato

Quando però vado a prendere il profilo1 ( profiliMap.get(pippo) ) , lo modifico e aggiungo il nuovo elemento alla mappa ( profiliMap.put(pluto, profilo1Modificato) ) mi ritrovo due chiavi pippo e pluto che puntano allo stesso profilo (il profilo1Modificato). Come faccio a mantenere per pippo il profilo1 ?

^TiGeRShArK^
22-02-2008, 11:59
Il solito problema del passaggio per valore dei riferimenti in java :D
Devi semplicemente crearti un nuovo profilo e modificare quello nuovo.
Se non sbaglio dovrebbe esserci il metodo .Clone() (o qualcosa del genere) che dovrebbe fare al caso tuo :p

spillo491
22-02-2008, 12:27
Intendi il metodo clone() della classe generica object che sarà estesa dalla mia calsse profili ?

^TiGeRShArK^
22-02-2008, 13:03
Intendi il metodo clone() della classe generica object che sarà estesa dalla mia calsse profili ?

yes

spillo491
22-02-2008, 15:27
Se cerco di utilizzare il metodo clone() e compilo mi dice

"clone() has protected access in java.lang.Object"

Come posso risolvere ?
Grazie

^TiGeRShArK^
22-02-2008, 16:23
http://java.sun.com/developer/JDCTechTips/2001/tt0306.html