簡體   English   中英

將列表解組到LinkedList Jaxb

[英]Unmarshal list to LinkedList Jaxb

解組列表時如何指定集合實現。 對於某些實體列表,我更喜歡使用LinkedList,但是jaxb使ArrayList用於適當的元素。 是否有最簡單的方法為List <>指向集合Impl?

    @XmlRootElement(name = "column")
    public class Column {

    @XmlElement(name = "property")
    public List<Property> properties;

    @XmlElement(name = "list-property")
    public List<ListProperty> listProperties;
}

        <column>
            <list-property name="a">...</list-property>
            <list-property name="b">...</list-property>
            <property name="width">10</property>
            <property name="height">20</property>
        </column>

    public Column getObject(File file) {
    try {
        JAXBContext jc = JAXBContext.newInstance(Column.class);
        Unmarshaller unmarshaller = jc.createUnmarshaller();
        return (Column) unmarshaller.unmarshal(file);
    } catch (JAXBException jex) {
        throw new RuntimeException("Object parse was fail", jex);
    }
}

將您的listProperties初始化為鏈接列表:

@XmlElement(name = "list-property")
public List<ListProperty> listProperties = new LinkedList<ListProperty>();

然后解組器將其作為鏈表返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM