Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的队列/链接列表序列化_Java_Serialization_Linked List_Queue - Fatal编程技术网

Java中的队列/链接列表序列化

Java中的队列/链接列表序列化,java,serialization,linked-list,queue,Java,Serialization,Linked List,Queue,我有一个队列(queue类,基本上是一个链表)的实现——它由元素类对象的链表(带有上一个/下一个引用)和第一个和最后一个元素的头(也是元素类的对象)组成。我想序列化队列。问题是-如何序列化双向链表?有很多方法可以做到这一点。您可以实现Serializable并注意持久化所有对象。您可以将所有数据和关系保存在某种结构化XML中。您可以使用JSON 唯一的问题可能是,如果您的队列是泛型的(如标准库中的队列),您将很难保存未知类型的对象。标准序列化可以在一行代码中完成所有这一切。不需要“注意持久化所有

我有一个队列(queue类,基本上是一个链表)的实现——它由元素类对象的链表(带有上一个/下一个引用)和第一个和最后一个元素的头(也是元素类的对象)组成。我想序列化队列。问题是-如何序列化双向链表?

有很多方法可以做到这一点。您可以实现Serializable并注意持久化所有对象。您可以将所有数据和关系保存在某种结构化XML中。您可以使用JSON


唯一的问题可能是,如果您的队列是泛型的(如标准库中的队列),您将很难保存未知类型的对象。

标准序列化可以在一行代码中完成所有这一切。不需要“注意持久化所有对象”,而且您上一段中描述的“问题”也不存在。那么,在反序列化过程中这会起作用吗?反序列化对象将具有什么类?当然,与序列化对象时的类相同。唯一的要求是它自己实现
Serializable
,并且它的成员可以序列化,等等,直到闭包为止。但是,我想我们可以通过保存泛型类型来打破封装,并学习它的真正类型。这种“打破封装”的方法是什么?