所以我试图编组一个通用的对象列表,但我希望每个列表都有一个特定的XmlRootElement(name ..).我这样做的方式,我知道如果没有为每种类型的对象编写特定的包装类并声明XmlRootElement,这是不可能的.但也许还有另一种方式......?
考虑以下类:
abstract public class Entity {
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="user")
public class User extends Entity {
private String username;
public String getUsername() {
return username;
}
public void setUsername( String username ) {
this.username = username;
}
}
@XmlRootElement
public class EntityList<T extends Entity> {
@XmlAnyElement(lax=true)
private List<T> list = new ArrayList<T>();
public void add( T entity ) {
list.add( entity );
}
public List<T> getList() {
return list;
}
}
public class Test {
public static void main( …Run Code Online (Sandbox Code Playgroud)