Ciao a tutti,
sono un principiante della programmazione java e mi sono imbattuto in un problema che vi espongo. Devo salvare su file un hashmap che ha per chiave una String e per valore una classe personalizzata. Ho trovato numerosi post su quest'argomento ma non riesco a capire dove stia il mio errore. La classe da me creata implementa l'interfaccia Serializable e contiene solo tipi String e int (ho provato anche con Integer ma senza successo).
Ho provato ad aggiungere i metodi readObject e writeObject (vuoti) con il risultato che non ottengo più l'errore ma non viene salvato il valore, viene cioè salvato ("Test_1", null) (non mi sembra sia la soluzione corretta e quindi l'ho rimossa).
Qualcuno sarebbe così gentile da dirmi dove sto sbagliando?
Di seguito il codice:
codice:import java.io.FileOutputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.HashMap; public class SalvaOggetti { class Persona implements Serializable { String nome; String cognome; String indirizzo; int età; public Persona() { } public Persona(String nome, String cognome, String indirizzo, int età) { this.nome = nome; this.cognome = cognome; this.indirizzo = indirizzo; this.età = età; } } HashMap<String, Persona> hashmap_persona = new HashMap<String, Persona>(); ObjectOutputStream oos; public SalvaOggetti() { hashmap_persona.put("Test_1", new Persona("Mario", "Rossi", "Casa sua", 30)); try { oos = new ObjectOutputStream(new FileOutputStream("prova.txt")); oos.writeObject(hashmap_persona); oos.flush(); oos.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { new SalvaOggetti(); } }

 
			
			 
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando 
 