Я сделал поле greetingString модификатором transient и до и после прочтения файла пропросил вывести мне person.
@Override
public String toString(){
String s = greetingString +"I am " + firstName + " " + lastName +" I from " +
country + ". I am a " + sex;
return s;
}
Person person = new Person("Alex", "Bolduin", "Danuoll", Sex.MALE);
System.out.println(person);
FileOutputStream fileOutputStream = new FileOutputStream("Person.dat");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(person);
fileOutputStream.close();
objectOutputStream.close();
FileInputStream fileInputStream = new FileInputStream("Person.dat");
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
Object object = objectInputStream.readObject();
fileInputStream.close();
objectInputStream.close();
Person person1 = (Person) object;
System.out.println(person1);
В итоге выходит так:
Hello, I am Alex Bolduin I from Danuoll. I am a MALE
nullI am Alex Bolduin I from Danuoll. I am a MALE
Как выйти из этой ситуации?
Кроме как удалить модификатор у greetingString?