树数据结构层级展开递归问题

最近在处理一个树(根节点附带子节点 很多层)展开,利用递归展开的时候,出现问题

TmObject 是节点对象 附带子节点,objList是一个数组 size = 1,但是children有很多层,我希望通过sceneName 遍历 找到这棵树对应mObject的对象,代码如下,当我equals找到这个对象的时候,发现程序继续递归,是什么问题导致的?
private TmObject loanObjectByName(String sceneName, List<TmObject> objList) {

    TmObject temp = getObjByName(sceneName, objList);
    if (temp != null) {
        return temp;
    } else {
        for (TmObject scene : objList) {
            if (scene.getChildObject().size() > 0) {
                loanObjectByName(sceneName, scene.getChildObject());
            }
        }
    }
    return null;
}

private TmObject getObjByName(String name, List<TmObject> objList) {
    TmObject tmObject = null;
    for (TmObject tmTestS : objList) {
        if (name.equals(tmTestS.getSceneName())) {
            tmObject = tmTestS;
            break;
        }
    }
    return tmObject;
}

阅读 1.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题