1
我已经在最近问了一个关于JAXB的问题,可以在以下网址找到:How to marshal/unmarshal Java objects with private fields using JAXB。如何使用JAXB对链接的Java对象进行编组/解组编号
我目前的问题是,我试图编组使用邻接列表结构实现的图结构。
顶点类:
@XmlElement
private int index;
@XmlElementWrapper(name="adj_list")
@XmlElement(name="vertex")
private ArrayList<Vertex> adjList;
边缘种类:
@XmlElement(name="vertex")
private Vertex v1;
@XmlElement(name="vertex")
private Vertex v2;
@XmlElement
private String label;
Graph类:
@XmlElementWrapper(name="vertices")
@XmlElement(name="vertex")
private ArrayList<Vertex> vertices;
@XmlElementWrapper(name="edges")
@XmlElement(name="edge")
private ArrayList<Edge> edges;
当我填充图实例,并尝试名帅它,我得到一个异常,特别是javax.xml.bind.MarshalException。
据我了解,这个问题是由于事实上,顶点类存储顶点ArrayList这是一个潜在的循环,所以JAXB是抱怨。我搜索了一下,但似乎无法为此提供解决方案。