javabird1986 2013-06-18 17:27
浏览 234
已采纳

关于递归调用的写法,遇到死循环吗,请教大家

[code="java"]
private String queryOrgDn(String parentid,String dn){
System.out.println("parentid : " +parentid);
int len = parentid.trim().length();
while(len > 5) {
AndFilter filter = new AndFilter();
filter.and(new EqualsFilter("objectclass","uumOrg"));
filter.and(new EqualsFilter("ESSPorgId",parentid));
List alist = ldapTemplate_user.search("", filter.encode(),new OrgAttributeMapper());
System.out.println("alist : " + alist.size());
if(null!=alist&&0<alist.size()){
Org _aorg = alist.get(0);
String _parentid = _aorg.getESSPparentId();
String _dn = dn + _aorg.getOu();
queryOrgDn(_parentid,_dn);//@2
}else break;

    }
    return dn;//@1
}

[/code]
我打断点调试过了,在运行到@1处后,程序又会回到@2处,然后@1,@2,@1,@2....陷入死循环。不是很懂递归调用,请指教!谢谢

  • 写回答

7条回答 默认 最新

  • hot002 2013-06-18 20:18
    关注

    感觉 while(len > 5)改成if(len > 5)

    @2 处 应该是 return queryOrgDn(_parentid,_dn);//@2

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突