最近在使用String split分割时出现了下面问题,讲道理分出来的数组是有21位的,可是当我选择20的下标时,出现了
ArrayIndexOutOfBoundsException
注意看字符串2015-04-03后面有两个,按照我们之前的想法应该会给一个null,接着往下看
最后结果是后面的分号并没有给出null值,而是直接干掉了。
最后看api和源码了解到我们平时用的XX.split(regex)其实是XX.split(regex,0);
看API介绍
所以我们如果想要保留后面的两个或者两个以上的,让它成为数组null就应该这样写 XX.split(regex,-1)