首页 > 解决方案 > 声纳“使瞬态或可序列化”错误

问题描述

我有以下可序列化的类(实现可序列化):

public class Test implements Serializable{

private String id;

private Map<String,Object> otherProperties;

}

但是,似乎此属性会导致序列化出现一些问题:

在此处输入图像描述

我怎么解决这个问题 ?

此外,不使这种瞬态或可序列化有什么缺点吗?我能完全序列化这个类吗?

标签: javajsonspringserialization

解决方案


Map接口不扩展接口Serializable,这就是 Sonar 警告您的原因。

序列化 的实例时Test,必须选择是否要otherProperties序列化。

如果您不想序列化otherProperties,则该字段应标记为transient

private transient Map<String, Object> otherProperties;

否则,您可以将 的类型更改为该otherPropertiesimplements 的Map实现Serializable,例如HashMap.


推荐阅读