なぜ
int a = 1234;
String b = a + "";
String[] c = b.split("");
結果:
c[0] = ""
c[1] = "1"
c[2] = "2"
c[3] = "3"
c[4] = "4"
String.split
正規表現文字列を引数として取ります。空の文字列に一致する空の正規表現を指定しました。したがって、文字列の先頭から空の文字列が 1 つ一致し、次にすべての文字が空の文字列で分割されます。おそらく有効な正規表現を提供する必要があります。
.split
通常、分割の最後には空の文字列がありますが、Java は、この 1 つの引数の使用法で得られる配列からこれを意図的に除外します。
$ 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) ""
}