1. 程式人生 > 其它 >java.lang.StringIndexOutOfBoundsException: String index out of range: -1

java.lang.StringIndexOutOfBoundsException: String index out of range: -1

技術標籤:Javajavajdkjvmbugtomcat

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:1967)
	at com.java2nb.novel.core.crawl.CrawlParser.parseBookIndexAndContent(CrawlParser.java:219)
	at com.java2nb.novel.service.impl.CrawlServiceImpl.parseBookAndSave(
CrawlServiceImpl.java:286) at com.java2nb.novel.service.impl.CrawlServiceImpl.parseBookList(CrawlServiceImpl.java:229) at com.java2nb.novel.service.impl.CrawlServiceImpl.lambda$openOrCloseCrawl$0(CrawlServiceImpl.java:115) at java.lang.Thread.run(Thread.java:748)

出錯的程式碼:

content = content.substring
(0, content.indexOf(ruleBean.getContentEnd()));

原因分析:陣列下標越界,解決辦法如下:

  if (content.indexOf(ruleBean.getContentEnd()) != -1)
    content = content.substring(0, content.indexOf(ruleBean.getContentEnd()));