.split(",", -1) 和 .split(",") 的区别
.split(",", -1)
和 .split(",")
的区别在于:
String a="河南省,,金水区"
;
.split(",")
a.split(",") = [河南省,金水区 ]
.split(",", -1)
而a.split(",",-1) = [河南省, ,金水区 ]
即 .split(",", -1);会保存空值。
String a="a,b,c,"
;
当使用a.split(”,”)
时得到数组是:[a,b,c]
,
而a.split(",",-1)
得到的数组是:[a,b,c, ]
,当使用.split(",", -1);会保存空值。
1、当字符串最后一位有值时,两者没有区别
2、当字符串最后一位 或者 N位是分隔符时,前者不会继续切分,而后者继续切分。即前者不保留null值,后者保留。
举例:
package stringsplit;
public class stringSplit {
public static void main(String[] args) {
String line = "hello,,world,,,";
String res1[] = line.split(",");
String res2[] = line.split(",", -1);
int i=1;
for(String r: res1)
System.out.println(i+++r);
System.out.println("========================");
i=1;
for(String r: res2)
System.out.println(i+++r);
}
}
输出结果是:
1hello
2
3world
========================
1hello
2
3world
4
5
6