请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

递归查询

递归算法,有一处不太理解,好比老师举的例子,我传id的值是0,会给我返回来10000和100000.可我怎么感觉代码最后把0这个id也放到set集合里一起返回了呢?不应该直接返回他子节点的id就可以了吗?

正在回答

1回答

 
 findChildCategory方法中的这段代码可以避免你说说问题的出现:
 Category category = categoryMapper.selectByPrimaryKey(categoryId);
 if(category != null){
  categorySet.add(category);
 }


0 回复 有任何疑惑可以回复我~
  • 提问者 qq_诶姆_0 #1
    没懂,这段代码我传0,它不是查找id为0的category返回来,然后装到set集合里面了吗
    回复 有任何疑惑可以回复我~ 2017-12-15 14:39:15
  • Geely 回复 提问者 qq_诶姆_0 #2
    你好,同学,因为0是一个虚拟的分类,所以这里面会查到它为null,就不会放到set里面了。
    回复 有任何疑惑可以回复我~ 2017-12-16 00:28:06
  • hans_2 回复 提问者 qq_诶姆_0 #3
    因为0只是出现在parentId中给Category作为一个顶级分类的标志,当以id=0为条件进行查询时将会得到null
    回复 有任何疑惑可以回复我~ 2017-12-20 11:13:03

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号