开发者社区> 问答> 正文

java.lang.String.split(String regex) 关于字符分割方法的一点疑惑

screenshot
API如上,有点搞不懂第二个示例,boo:and:foo用o分割的话
我预想的结果是:
{"b","",":and:f",""}
最后的空字符串是oo之间分割出来的,希望各位帮我解惑,谢谢。

展开
收起
蛮大人123 2016-02-29 16:17:09 2329 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    我想说,在JavaScript里,分出的是["b","",":and:f","",""],比较贴近我们的思维,但是Java里面split的一段源码这样写道:

    // Construct result
    int resultSize = matchList.size();
    if (limit == 0)
        while (resultSize > 0 && matchList.get(resultSize-1).equals(""))
            resultSize--;
    String[] result = new String[resultSize];
    return matchList.subList(0, resultSize).toArray(result);

    可以看到while循环里面,如果结果集的最后元素是"",它会把它们一个一个地删除,这就是你所看到的结果的根本原因。
    详细可以参考:http://www.cnblogs.com/xzhang/p/3995464.html

    2019-07-17 18:50:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载