我正在尝试保存帐户对象。它拥有多个不同的投资组合,每个投资组合都有许多不同的投资。每个投资都有一个使用org.apache.commons.csv.CSVParser的对象。当我去序列化帐户以便稍后加载它时,我得到了java.io.NotSerializableException。
我不知道如何解决这个问题。
答案 0 :(得分:1)
将Investment
类中的csv解析器字段标记为transient
。另外确保在反序列化后通过在readObject
类中实现Investment
初始化瞬态csv解析器字段,以便它不会给你{{1}如果在反序列化后该字段将被取消引用。您需要在NullPointerException
类中添加具有以下签名的方法:
Investment
并正确初始化其中的csv解析器。
有关详细信息,请参阅this article about serialization in java或java serialization specification。