Всем привет!
Посмотрел комменты в ( https://help.javarush.ru/questions/167272/task37-task3707-big-%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-5 ), посмотрел исходный код HashSet - а. Получился вот такой код:
private void writeObject(ObjectOutputStream out) throws Exception {
out.defaultWriteObject();
out.writeInt(HashMapReflectionHelper.callHiddenMethod(map, "capacity"));
out.writeFloat(HashMapReflectionHelper.callHiddenMethod(map, "loadFactor"));
out.writeInt(map.size());
for (Iterator i = map.keySet().iterator(); i.hasNext(); ) out.writeObject(i.next());
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
int capacity = in.readInt();
float loadFactor = in.readFloat();
map = new HashMap(capacity, loadFactor);
int size = in.readInt();
for (int i = 0; i < size; i++) {
E e = (E)in.readObject();
map.put(e, PRESENT);
}
}
Валидатор ругается на следующее:
Объект сериализованный с помощью метода writeObject должен быть равен объекту десериализованному с помощью метода readObject.
Рекомендация от ментора:
Сервер не может корректно протестировать присланное решение. Убедись в наличии всех необходимых классов. Проверь, что в решении нет бесконечных циклов.
Помогите плз кто уже решил )