split(,)与split(,,-1)的区别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
split(,)与split(,,-1)的区别split(",")与split(",",-1)的区别
下⾯通过两种情况说明⼆者的区别
第⼀种:字符串最后⼀位是要切割符
代码:
package com.yyy.test;
public class testSplit {
public static void main(String[] args) {
String aaa="a,b,c,d,,,,,,";
String[] split = aaa.split(",");
System.out.println(split.length);
for(String item:split){
System.out.println(item+"==========");
}
System.out.println("1111111111111111111111111111111111111111111111111");
String[] split1 = aaa.split(",", -1);
System.out.println(split1.length);
for (String item:split1){
System.out.println(item+"==========");
}
}
}
执⾏结果
4
a==========
b==========
c==========
d==========
1111111111111111111111111111111111111111111111111
10
a==========
b==========
c==========
d==========
==========
==========
==========
==========
==========
==========
Process finished with exit code 0
总结:
第⼀种情况,⼆者的区别为,如果最后n位都为切割符则split(",")不会继续切割,⽽split(",",-1)会继续切割
第⼆种情况字符串最后⼀位不为切割符
代码
package com.yyy.test;
public class testSplit2 {
public static void main(String[] args) {
String aaa="a,b,c,d,,,,,,e";
String[] split = aaa.split(",");
System.out.println(split.length);
for(String item:split){
System.out.println(item+"==========");
}
System.out.println("1111111111111111111111111111111111111111111111111");
String[] split1 = aaa.split(",", -1);
System.out.println(split1.length);
for (String item:split1){
System.out.println(item+"==========");
}
}
}
执⾏结果
4
a==========
b==========
c==========
d========== 1111111111111111111111111111111111111111111111111 10
a==========
b==========
c==========
d==========
==========
==========
==========
==========
==========
==========
Process finished with exit code 0
总结
第⼆种情况⼆者没有区别。