如何在Java中序列化泛型类?

Leo*_*ian 10 java generics serialization

我已经开始阅读Java中的序列化以及其他语言中的一些,但是如果我有一个泛型类并且我想将它的实例保存到文件中该怎么办.

代码示例

public class Generic<T> {
  private T key;
  public Generic<T>() {
    key = null;
  }
  public Generic<T>(T key) {
    this.key = key;
  }
}
Run Code Online (Sandbox Code Playgroud)

什么是保存这种对象的最佳方法?(当然,在我真正的通用课程中还有更多内容,但我只是想知道实际的想法.)

Grz*_*Żur 21

需要Serializable像往常一样制作泛型类.

public class Generic<T> implements Serializable {...}

如果使用泛型类型声明字段,则可能需要指定它们应该实现Serializable.

public class Generic<T extends Serializable> implements Serializable {...}

请注意这里不常见的Java语法.

public class Generic<T extends Something & Serializable> implements Serializable {...}