如何在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
如果使用generics类型声明字段,则可能需要指定它们应实现Serializable
。
public class Generic
请注意这里不常见的Java语法。
public class Generic
如果您不希望(或不能)实现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)