1. 程式人生 > >java.lang.StackOverflowError

java.lang.StackOverflowError

StackOverflowError是由於當前執行緒的棧滿了  ,也就是函式呼叫層級過多導致。

比如死遞迴。

如:

  public String homePage(){
  this.findAllNews();
   return "shouye";
 }

public String findAllNews(){
   List newslist= hotnewsService.findAll();
   HotnewsDto  hotnews= (HotnewsDto) newslist.get(0);//得到第一條新聞
   String content=hotnews.getContent();
   String subcontent=content.substring(0, 80);//擷取這條新聞資訊內容在首頁部分顯示
   super.setRequestAttribute("hotnews", hotnews);
   super.setRequestAttribute("newslist", newslist);
   super.setRequestAttribute("subcontent", subcontent);
   return homePage;

   }

  如紅色標記處,這樣子呼叫的方法,相當於一個無限迴圈了!

解決辦法:

  將 findAllNews方法的返回值設為 void 即可