我已经使用不可序列化的对象(例如ArrayList等)创建了一个类。此类实现了可序列化,但是当我尝试使用ObjectOutputStream的writeObject方法将类实例写入文件时,我得到了IOException。
如何避免这个问题? writeObject方法是最终的,所以我不能覆盖它,我是否必须手动保存(读取所有ArrayList并将其元素保存为一个)对象,还是有机会管理writeObject方法起作用?

P.S .:我认为没有必要包含它,因为它对问题没有意义,但是,如果您认为有必要发布代码(由于它也包含其他用户定义的类,因此很难理解),请告诉我。

最佳答案

  • 您不需要重写或'提供实现of writeObject()`。
  • 根据上面的注释,
  • ArrayList可序列化。
  • 您需要阅读得到的实际错误消息。它不仅包含“IOException”,还包含信息。几乎可以肯定的是,它告诉您其他一些类不可序列化。这就是您必须解决的问题。而且这样做通常也不涉及writeObject()方法。
  • 09-13 06:07