转至:https://stackoverflow.com/questions/35039792/mapping-inheritance-with-xstream
xstream格式化数据使用继承类时,只保留子类的数据,而父类的数据没有。
public class Test {
static class User{
String name;
}
static class Employee extends User{
String job;
}
public static void main(String[] args) {
Employee me = new Employee();
me.name = "Sam";
me.job = "Developer";
XStream xStream = new XStream();
xStream.alias("employee", Employee.class);
String xml = xStream.toXML(me);
System.out.println(xml);
}
}
输出:
<employee>
<job>Developer</job>
</employee>
使用xstream 版本为1.4.4
修改xstream版本为1.4.9后编译正确。
<employee>
<job>Developer</job>
<name>Sam</name>
</employee>
可能是由于xstream 1.4.4版本的bug导致。