Почему "" в 0-м индексе массива при пенировании разделителя() без разделителей?
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("")
, почему я получаю ""
в 0-м индексе массива str2
?
Ответы
Ответ 1
почему я получаю "" в 0-м индексе массива str2?
Поскольку используемый вами разделитель соответствует:
aaaabbddaabbcc
^
Так как .split()
собирает части, "идет", когда он переходит в строку, здесь он собирает пустую строку.
Отметим также, что, поскольку разделитель пуст, чтобы избежать бесконечных циклов, на следующей итерации .split()
будет пересылать один символ, прежде чем снова начать поиск.