gpt4 book ai didi

java - 在 JaxB 中解码集合

转载 作者:搜寻专家 更新时间:2023-10-30 19:39:50 29 4
gpt4 key购买 nike

假设我有这个类:

public class A {

private HashMap<String, B> map;

@XmlElement
private void setB(ArrayList<B> col) {
...
}

private ArrayList<B> getB() {
...
}

}

当尝试使用 JaxB 将 xml 文档解码到此类时,我注意到 JaxB 没有调用 setB() 方法并向我发送 B 实例列表,而是实际调用了 getB() 并将 B 实例添加到返回列表中.为什么?

我想要调用 setter 的原因是列表实际上只是一个临时存储,我想从中构建映射字段,所以我想在 setter 中进行。

谢谢。

最佳答案

这就是 jaxb 处理集合的方式。当 jaxb 尝试解码时,你必须确保你有一个非空集合。

有一个插件(我自己从未使用过)但很有用: https://jaxb2-commons.dev.java.net/collection-setter-injector/

关于java - 在 JaxB 中解码集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1032152/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com