Java エキスパート ,
以下の分割コマンド コードを調べて、最後の 2 つの null がキャプチャされない理由を教えてください。
String test = "1,O1,,,,0.0000,0.0000,,";
String[] splittest = test.split(",");
System.out.println("length -"+splittest.length);
for (String string : splittest) {
System.out.println("value"+string);
}
結果は得ています
length -7
value1
valueO1
value
value
value
value0.0000
value0.0000
驚くべきことに、長さは 7 ですが、本来は 9 であり、0.0000 の後に値が表示されます。つまり、最後の 2 つの null が来ていません。文字列テスト「1,O1,,,0.0000,0.0000,0,0」を変更するとしましょう
String test = "1,O1,,,,0.0000,0.0000,0,0";
String[] splittest = test.split(",");
System.out.println("length -"+splittest.length);
for (String string : splittest) {
System.out.println("value"+string);
}
私は正しく取得しています
length -9
value1
valueO1
value
value
value
value0.0000
value0.0000
value0
value0
私は間違っているとは思わない。バグですか?JAVA バージョン - jdk1.6.0_31