简要回顾一下瓜瓦氏的原因 common.graph 课不是 Serializable :Java序列化很脆弱,因为它取决于实现的细节,并且可以随时更改,因此我们不支持它的图形类型。
common.graph
Serializable
在短期内,您建议的解决方法可能是您最好的选择,尽管您需要小心存储边缘对象边缘的端点(源和目标),以便您能够将图形重建为你形容。事实上,如果您拥有一个您满意的数据库并且您不需要担心与其他任何人进行互操作,那么从长远来看这也可能对您有用。
正如我在那提到的那样 GitHub问题 ,另一种选择是将图表保持为某种文件格式。 (番石榴本身并没有提供这样做的机制,但是 JUNG 愿意 common.graph 图表一旦我可以获得3.0,我仍然在努力。)请注意,大多数图形文件格式(至少是我熟悉的格式)对存储节点和边缘元数据的支持相当有限,所以你可能会想要你自己的文件格式(比如基于协议缓冲区的东西)。