为什么
int a = 1234;
String b = a + "";
String[] c = b.split("");
结果:
c[0] = ""
c[1] = "1"
c[2] = "2"
c[3] = "3"
c[4] = "4"
答案 0 :(得分:7)
String.split
将正则表达式String作为参数。您提供了一个空的正则表达式,它匹配空字符串。因此,从字符串的开头得到一个空字符串匹配,然后用空字符串分隔每个字符。您应该提供有效的正则表达式。
通常在拆分结束时会有一个空字符串,但是Java故意将.split
中的这个单参数用法从数组中排除。
$ php -r "var_dump(preg_split('//', 1234));"
array(6) {
[0]=>
string(0) ""
[1]=>
string(1) "1"
[2]=>
string(1) "2"
[3]=>
string(1) "3"
[4]=>
string(1) "4"
[5]=>
string(0) ""
}