为什么java中的String.Split(regex)返回的元素数组小于实际存在的元素数组?

rav*_*dav 0 java arrays string split

返回的元素数量少于我运行时的预期值 String.split()

示例: -实际字符串是"country,12345,2,1 ,, 1 ,,",因此返回的数组中预计有8个元素,但数组的大小为"6"

码:-

String line1 = "country,12345,2,1,,1,,";
String data1[] = line1.split(",");      
System.out.println("Length : "+data1.length);
Run Code Online (Sandbox Code Playgroud)

输出: -

Length : 6
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

Ian*_*rts 7

因为单参数split方法会丢弃尾随空字段.如果要保留它们,请使用带有负limit参数的双参数版本.

String data1[] = line1.split(",", -1); 
Run Code Online (Sandbox Code Playgroud)