如何在Java中序列化generics类?

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

代码示例

public class Generic { private T key; public Generic() { key = null; } public Generic(T key) { this.key = key; } } 

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

需要像往常一样制作generics类Serializable

public class Generic implements Serializable {...}

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

public class Generic implements Serializable {...}

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

public class Generic implements Serializable {...}

如果您不希望(或不能)实现Serializable接口,则可以使用XStream。 这是一个简短的教程 。

在你的情况下:

 XStream xstream = new XStream(); Generic generic = ...;//whatever needed String xml = xstream.toXML(generic); //write it to a file (or use xstream directly to write it to a file)