java - Java:无法使用 DateTimeFormatter 属性序列化对象?
问题描述
我正在尝试将对象 ( Match
) 的序列化写入文件。但是,当我运行我的代码时,我收到以下代码,说明该对象无法序列化,因为它包含一个DateTimeFormatter
不可序列化的属性:
java.io.NotSerializableException: java.time.format.DateTimeFormatter
问题是我无法修改DateTimeFormatter
要实现的类java.io.Seralizable
,因为该接口已标记final
。
有关如何解决此问题的任何建议?
下面是我的代码:
匹配.java
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Match implements java.io.Serializable {
private String timeFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
private final DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern(timeFormat, Locale.ENGLISH);
public Match() {
}
}
SaveSerializedMatch.java:
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.IOException;
public class SaveSerializedMatch{
public static void main(String[] args) {
Match match = new Match();
try {
FileOutputStream fileOut = new FileOutputStream("Match.txt");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(match);
out.close();
fileOut.close();
}
catch (IOException ex) {
System.out.println(ex.toString());
}
}
}
解决方案
推荐阅读
- powershell - PowerShell如何为外部文件中的每个条目运行一次命令
- tensorflow2.0 - 在 Windows 上使用 tensorflow-text 的解决方案(或解决方法)
- jms - StatisticsPlugin 中“大小”的值始终为 0
- continuous-integration - Helm Chart 版本
- python - 在python的同一行中使用if else for和del?
- python - 将现有的 numpy 直方图转换为提升直方图
- r - R:合并两个数据帧而不增加行
- linux - 获取 [: !=: shell 脚本中预期的一元运算符
- mysql - 如果未找到特定记录,则 MySQL 查询获取默认记录
- python - 如何用另一列中的每个值减去列值(熊猫)