[英]java: convert object to list
我有以下课程:
public class UnidadOrganicaArbol {
protected long codigo;
@XmlElement(required = true)
protected String denominacion;
protected boolean tieneOficinaRegistro;
protected int prelacion;
@XmlElement(required = true)
protected UnidadesOrganicasArbol subunidades;
/*getters and setters*/
}
并且还有
public class UnidadesOrganicasArbol
extends ListadoBase
{
protected List<UnidadOrganicaArbol> unidadOrganicaArbol;
public List<UnidadOrganicaArbol> getUnidadOrganicaArbol() {
if (unidadOrganicaArbol == null) {
unidadOrganicaArbol = new ArrayList<UnidadOrganicaArbol>();
}
return this.unidadOrganicaArbol;
}
如您所见, UnidadOrganicaArbol
类有一个属性subunidades
,它是一个UnidadesOrganicasArbol
类,它有一个List<UnidadOrganicaArbol>
属性。
所以,我有一个包含List<UnidadOrganicaArbol>
属性的UnidadOrganicaArbol
类。
假设我有:
您知道将 uoa1(或任何其他 UnidadOrganicaArbol 对象)及其子对象转换为一个列表的通用算法吗?
我尝试了几种方法,但都没有成功。 提前致谢。
public List<UnidadOrganicaArbol> collectToList(UnidadOrganicaArbol arbol) {
List<UnidadOrganicaArbol> result = new ArrayList<>();
result.add(arbol);
UnidadesOrganicasArbol children = arbol.getUnidadesOrganicasArbol();
if (children != null) {
for (UnidadOrganicaArbol child : children.getUnidadOrganicaArbol()) {
result.addAll(collectToList(child));
}
}
return result;
}
将为您提供上图的列表 [\\, 7, 3, 6, 4, 5, 1, 2] 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.