91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在java中使用遞歸調用實現一個樹形菜單

發布時間:2021-03-10 15:39:45 來源:億速云 閱讀:178 作者:Leah 欄目:編程語言

這篇文章給大家介紹怎么在java中使用遞歸調用實現一個樹形菜單,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

實體類:

 import java.util.Date;
 import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 
 import lombok.Data;
 @Data
 public class BsChannelPostReply {
 private long replyId;
 private String niceName;
 @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
 private Date replyDate;
 private String content;
 private long directRepliedId;//回復的直接評論的replyId
 private List<BsChannelPostReply> children;//下面的子評論
 }

獲取主評論列表,和遞歸全部子評論:

 @Override
 @Datasource(value="community")//切換數據源
 public List<BsChannelPostReply> getMainReply(int postId) {
  // TODO Auto-generated method stub
  List<BsChannelPostReply> listMain=dao.getMainReply(postId);//獲取主評論
  if(listMain.size()>=0){//如果主評論不為空
  for (BsChannelPostReply bsChannelPostReply : listMain) {
   bsChannelPostReply.setChildren(getMainReplyChildren(bsChannelPostReply.getReplyId()));//加載子評論
  }
  }
  return listMain;
 }
 
 @Override
 @Datasource(value="community")//切換數據源
 public List<BsChannelPostReply> getMainReplyChildren(long replyId) {
  // TODO Auto-generated method stub
  List<BsChannelPostReply> listChildren=dao.getMainReplyChildren(replyId);//根據當前的replayId獲取當前級子評論列表
  if(listChildren.size()>=0){
  for (BsChannelPostReply bsChannelPostReply : listChildren) {
   bsChannelPostReply.setChildren(getMainReplyChildren(bsChannelPostReply.getReplyId()));//在判斷當前子評論是否還有子評論,遞歸調用,直到沒有子評論
  }
  }
  return listChildren;
 }

五:效果

根據這樣的遞歸調用就可以實現理論上的獲取無極限的子評論列表。

怎么在java中使用遞歸調用實現一個樹形菜單 

慎用Java遞歸調用

 在java語言中,使用遞歸調用時,如果過多的調用容易造成java.lang.StackOverflowError即棧溢出和程序執行過慢。這是一個潛在Bug和影響程序執行效率問題,需要謹慎使用。

關于怎么在java中使用遞歸調用實現一個樹形菜單就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴南区| 楚雄市| 龙口市| 奈曼旗| 罗源县| 绥江县| 晋宁县| 霞浦县| 乌拉特后旗| 万全县| 澄迈县| 禄丰县| 乐清市| 陵川县| 南召县| 麻阳| 炉霍县| 长海县| 峨眉山市| 霍林郭勒市| 潼南县| 高台县| 宽城| 阿鲁科尔沁旗| 延津县| 常宁市| 宜君县| 高陵县| 孝昌县| 上杭县| 黔南| 盐山县| 平安县| 巴马| 建始县| 绥滨县| 阜平县| 昭觉县| 文登市| 天台县| 改则县|