提问者:小点点

Findbugs eclipse插件显示了我的类中HashMap实例的SE\u BAD\u字段


我有一个HashMap的实例

Se:可序列化类中的非瞬态非可序列化实例字段(Se\u BAD\u字段)

这个可序列化类定义了一个非原语实例字段,它既不是瞬态的、可序列化的,也不是java的。并且似乎没有实现可外部化的接口或readObject()和writeObject()方法。如果此字段中存储了不可序列化的对象,则此类的对象将无法正确反序列化。


共1个答案

匿名用户

如果将HashMap字段定义为:

private Map<MyClass2,Queue<Point2D>> map = new HashMap<>();

FindBugs会抱怨,因为Map接口不可序列化,所以您可以将任何可能不可序列化的类放在那里,如果您将类型更改为HashMap(或添加transient),您将摆脱警告。