【问题标题】:How to make Generic of list variable Serializable如何使列表变量的泛型可序列化
【发布时间】:2017-10-04 06:42:05
【问题描述】:

如何使private List <T> list;private Map<String, Value> unknownData; 可序列化?这些是我的类中的变量,其父类是可序列化的,但 SonarQube 抱怨瞬态或可序列化的变化

myClass.java

public class MyClass implements Serializable {
  private static final long serialVersionUID = 0L;
  protected  List<T>  list = new ArrayList<T>();

【问题讨论】:

  • 你能放一张 SonarQube 显示的截图吗?

标签: java list generics serializable transient


【解决方案1】:

在类声明中,使用Serializable 扩展类型。

例如:

public class MyClass<T extends Serializable>{ ...

public class MyOtherClass<Value extends Serializable>{ ...

【讨论】:

  • 我认为,SonarQube 抱怨List&lt;..&gt; 不可序列化,&lt;T&gt; 不是问题...List&lt;..&gt; 必须是可序列化的(例如ArrayList),但另一方面手字段应该是最合适的(所以推荐List&lt;..&gt;) - 最后,在运行时需要可序列化 - 不需要具有可序列化的固定类型List
猜你喜欢
  • 2022-09-23
  • 1970-01-01
  • 2020-10-08
  • 2016-09-02
  • 2013-09-28
  • 1970-01-01
  • 2011-04-11
  • 1970-01-01
相关资源
最近更新 更多