为什么一个数组的第0个索引中的“”在perfoaming()w / o分隔符上?
public static void main(String[] args) { // TODO Auto-generated method stub String str="aaabbddaabbcc"; String[] str2=str.split(""); String pointer=str2[0]; int count=0; String finalStr=""; for(String str132:str2) { if(str132.equalsIgnoreCase(pointer)) { ++count; } else { finalStr+=str132+count; count=0; pointer=str132; ++count; } } System.out.println(finalStr); }
在执行str.split("")
,为什么我在str2
数组的第0个索引中得到一个""
?
为什么我在str2数组的第0个索引中得到一个“”?
因为你使用的分隔符在这里匹配:
aaaabbddaabbcc ^
由于.split()
收集的部分在进入字符串时已“走过”,因此它收集空字符串。
另请注意,由于分隔符为空,为了避免无限循环,在下一次迭代中, .split()
将在开始再次搜索之前转发一个字符。