我正在嘗試使用對象輸出流將數組列表中的所有對象保存到文件中。該對象的一個屬性是本地日期,每當我嘗試寫入文件時,錯誤不可序列化異常: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
提交
取消
