【发布时间】:2013-11-28 09:24:36
【问题描述】:
我试图将一个字符串拆分为一个由单个字母组成的数组。这就是我所做的,
String str = "abcddadfad";
System.out.println(str.length()); // output: 10
String[] strArr = str.split("");
System.out.println(strArr.length); // output: 11
System.out.println(strArr[0]); // output is nothing
新数组确实包含所有字母,但是它在索引 0 处没有任何内容,甚至没有空格,但仍然增加了我的数组的大小。谁能解释为什么会这样?
【问题讨论】:
-
我发现您可以使用空分隔符非常违反直觉。因为您将任意数量的空分隔符放在您想要(几乎)所有数组长度同样有效的地方。实现以某种方式选择“最小”长度的事实并没有改变这个操作没有多大意义的事实。在我看来,引发“NoEmptySeparator”异常会更合适。