字段在不实现 Serialized 接口的情况下被序列化

Kra*_*thi 4 java serialization jackson-databind

我有一个实现 Serialized 接口的 java 类。它具有 String、BigDecimal 和其他可序列化的 java 预定义类型。它还包括一个自定义定义的类,该类不实现可序列化。自定义类型也被序列化为 JSON。

\n\n

但有警告显示要么使其成为瞬态,要么使自定义类型实现可序列化。

\n\n

即使类型没有\xe2\x80\x99t 实现 Serialized ,它如何被序列化?我应该忽略警告(SonarLint 消息)吗?

\n

Lak*_*gha 5

这是因为 Jackson 在序列化/反序列化时不使用java.lang.Serializable类型提示。Jackson 可以序列化/反序列化大多数 Java 类型。看看com.fasterxml.jackson.databind.ser.stdcom.fasterxml.jackson.databind.deser.std。如果您使用ObjectMapper,您可以按照本指南配置所需的功能。

忽略警告取决于您的对象类型。例如,关于值类型序列化有一个很好的讨论。

为什么Java的基于值的类不应该被序列化?