java的split分割的问题

http://img.mukewang.com/5a363981000162ed06470537.jpg

为什么是长度是4?不应该是3吗?   求大佬解答,不胜感激。。。

小熊熊HELLO
浏览 2354回答 3
3回答

Steven_zhao

split核心代码 boolean matchLimited = limit > 0; Matcher m = matcher(input); // Add segments before each match found while(m.find()) {     if (!matchLimited || matchList.size() < limit - 1) {         String match = input.subSequence(index, m.start()).toString();         matchList.add(match);         index = m.end();     } else if (matchList.size() == limit - 1) { // last one         String match = input.subSequence(index,                                          input.length()).toString();         matchList.add(match);         index = m.end();     } } 123a456aa789的split截取[a]相当于 第一次:subString(0,3) 第二次:subString(4,7) 第三次:subString(8,8) 由于是开始和结束相同,如果参数 start 与stop 相等,那么该方法返回的就是一个空串 第四次:subString(9,12)

产品经理不是经理

结果长度为4。包括a和a之间的空串。

产品经理不是经理

你都打印出来了啊,不是四个吗
打开App,查看更多内容
随时随地看视频慕课网APP