API如上,有点搞不懂第二个示例,boo:and:foo用o分割的话
我预想的结果是:
{"b","",":and:f",""}
最后的空字符串是oo之间分割出来的,希望各位帮我解惑,谢谢。
API如上,有点搞不懂第二个示例,boo:and:foo用o分割的话
我预想的结果是:
{"b","",":and:f",""}
最后的空字符串是oo之间分割出来的,希望各位帮我解惑,谢谢。
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String, int)
看 split
的第二个参数 limit
If n is non-positive then the pattern will be applied as many times as possible and the array can have any length. If n is zero then the pattern will be applied as many times as possible, the array can have any length, and trailing empty strings will be discarded.
你要的结果可以传-1
得到
foo.split("o",-1);
4 回答1.8k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
4 回答2.4k 阅读
2 回答847 阅读✓ 已解决
2 回答1.4k 阅读
我想说,在JavaScript里,分出的是["b","",":and:f","",""],比较贴近我们的思维,但是Java里面split的一段源码这样写道:
可以看到while循环里面,如果结果集的最后元素是"",它会把它们一个一个地删除,这就是你所看到的结果的根本原因。
详细可以去看下我的博文:Java split源码分析