import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; public class Test { public static void main(String[] args) throws IOException { Map<Test2, Integer>hashmap = new HashMap<>(); Map<Test2, Integer>hashma3 = new HashMap<>(); Set<Test2>set = new HashSet<>(); Test2 person1 = new Test2("Александр",1); Test2 person2 = new Test2("Александр",1); hashmap.put(person1, 1223); hashmap.put(person2, 123); set.add(person1); set.add(person2); hashma3.put(person1, 12); System.out.println(hashmap); System.out.println(set); { File file = new File("temp.txt"); FileOutputStream f = new FileOutputStream(file); ObjectOutputStream s = new ObjectOutputStream(f); s.writeObject(hashmap); s.close(); } } }
package Forest; import java.io.Serializable; public class Test2 implements Serializable { private String name; private int id; public Test2 (String name, int id) { this.name = name; this.id = id; } public String toString() { return "Имя сотрудника "+ name+" ID сотрудика "+ id; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + id; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Test2 other = (Test2) obj; if (id != other.id) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } }
ошибки не какие не вываливаються, но в файл записываеться какой то ад
типа
Quote:
¬н sr java.util.HashMapЪБГ`С F
loadFactorI [email protected] w sr Forest.Test2[•©2vЖџ I idL namet Ljava/lang/String;xp t Александрsr java.lang.Integerв ¤чЃ‡8 I valuexr java.lang.Number†¬•”а‹ xp {x
loadFactorI [email protected] w sr Forest.Test2[•©2vЖџ I idL namet Ljava/lang/String;xp t Александрsr java.lang.Integerв ¤чЃ‡8 I valuexr java.lang.Number†¬•”а‹ xp {x