Друзья, может кто объяснить что не так, вроде при тестировании объекты получаются с одинаковыми полями а валидатор пишет ошибку: Имена сохраняемого и восстановленного объектов типа Person должны совпадать.
package com.javarush.task.task20.task2013;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Externalizable Person
*/
public class Solution {
public static class Person implements Externalizable {
private String firstName;
private String lastName;
private int age;
private Person mother;
private Person father;
private List<Person> children;
public Person(String firstName, String lastName, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
public Person() {}
public void setMother(Person mother) {
this.mother = mother;
}
public void setFather(Person father) {
this.father = father;
}
public void setChildren(List<Person> children) {
this.children = children;
}
@Override
public void writeExternal(ObjectOutput out) throws IOException {
out.writeChars(firstName + "\n");
out.writeChars(lastName + "\n");
out.writeInt(age);
out.writeObject(mother);
out.writeObject(father);
out.writeObject(children);
}
@Override
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
firstName = in.readLine();
lastName = in.readLine();
age = in.readInt();
mother = (Person)in.readObject();
father = (Person)in.readObject();
children = (List)in.readObject();
}
}
public static void main(String[] args) throws IOException, ClassNotFoundException {
}
}