我有一个实现Serializable接口的java类。它具有String,BigDecimal和其他可预定义的类型,可以序列化。它还包括一个不实现Serializable的自定义类。自定义类型也被序列化为JSON。
但是有警告显示要么使其成为瞬态,要么使自定义类型实现可序列化。
即使它没有实现Serializable,类型如何被序列化?我应该忽略警告(SonarLint消息)吗?
答案 0 :(得分:1)
这是因为Jackson在序列化/反序列化时不使用java.lang.Serializable
类型提示。 Jackson可以序列化/反序列化大多数Java类型。请查看com.fasterxml.jackson.databind.ser.std
和com.fasterxml.jackson.databind.deser.std
。如果您使用ObjectMapper
,则可以按此guide配置所需功能。
忽略警告取决于您的对象类型。例如,关于值类型序列化的讨论很好。