我正在尝试使用对象输出流将数组列表中的所有对象保存到文件中。该对象的一个属性是本地日期,每当我尝试写入文件时,错误不可序列化异常:java.time.format.DateTime 格式化器返回,尽管没有任何本地日期的日期时间格式化程序完整错误:java.io.NotSerializableException: java.time.format.DateTimeFormatter at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1185) at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1553) at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1510) at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1433) at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179) at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349) at java.base/java.util.ArrayList.writeObject(ArrayList.java:791) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at java.base/java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1130) at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1497) at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1433) at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1179) at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349) at BikeNow.saveRent(BikeNow.java:330) at BikeNow.main(BikeNow.java:114)
1 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
这里没有太多可说的,但显然您在编写对象时正在尝试编写 DateTime 格式化程序。这使我相信在客户中有一个定义,但由于DTF没有实现可序列化,所以它爆炸了。
最好的解决方案是编辑 Customer 类以正确序列化。另一种选择是将其填充到您的 Rent 类中,但如果字段是私有的,则可能无法做到这一点。
添加回答
举报
0/150
提交
取消