这两天依领导要求使用sonar工具测试了一下项目代码,其中有一个问题是

Serializable接口使用纪实

而这个类的结构大概是这样的:

public class Demo<T> implements Serializable {
        private List<T> list;

        // constructor、getter、setter     
}

错误提示要么加“transient”关键字要么让list属性实现Serializable接口,显然前者不合适因为我们的“T”们需要做持久化,于是就需要Serializable了。

咋写呢?List<T implements Serializable> list;?报错;把类声明行的泛型写成<T implements Serializable> 也不行。。。

上网查了一下,原来限定泛型类型需要用 extends 关键字,所以代码做如下修改:

public class Demo<T extends Serializable> implements Serializable {

        private List<T> list;

        // constructor、getter、setter     
}

欧了:)

相关文章:

  • 2022-12-23
  • 2021-09-28
  • 2021-12-12
  • 2021-07-23
  • 2022-12-23
  • 2022-01-03
  • 2021-07-10
  • 2022-02-15
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-20
  • 2022-01-23
相关资源
相似解决方案