我有两个类似的类,只有一个字符串名称。我想在列表中添加一个XML适配器,以便我可以从每个列表中获取一个CSV字符串。
我试图像这样声明我的适配器:
public class ListXmlAdapter extends XmlAdapter<String, ArrayList<Object>> {
但是当我尝试使用它时,我得到了非法的注释异常,说ListXmlAdapter不适用于我试图在注释中传入的任何类型 - 例如下面的测试
@XmlElement
@XmlJavaTypeAdapter(ListXmlAdapter.class)
List<Test> tests = new ArrayList<Test>()
我如何创建这个我想用于不同对象类型的不同ArrayLists的适配器?
答案 0 :(得分:0)
如果将属性类型更改为ArrayList,它将起作用:
@XmlElement
@XmlJavaTypeAdapter(ListXmlAdapter.class)
ArrayList<Test> tests = new ArrayList<Test>();
答案 1 :(得分:0)
您必须更改ListXmlAdapter以处理List而不是ArrayList。
public class ListXmlAdapter extends XmlAdapter<String, List<Object>>