使用索引访问用 String 的 split 方法得到的数组时,需做最后一个分隔符后有无内容 的检查,否则会有抛出IndexOutOfBoundsException 的风险。
例1:
String str = "a,b,c,,";
String[] ary = str.split(",");
// 预期大于 3,结果是 3
System.out.println(ary.length); 13
例2:
String Str1 = "cw,vw,,cds,,";
String str2 = "cw,vw,,cds,,1";
String[] ary1 = str1.split(",");
String[] ary2 = str2.split(",");
// 输出 4
System.out.println(ary1.length);
// 输出 6
System.out.println(ary2.length);
或者给split的第二个参数写一个负数,如下:
String[] strs = textStr.split(",",-1);
// 也是输出6
System.out.println(strs.length);