相信大家都经常使用String 的split方法,但是大家有没有遇到下面的这种情况:
大家想想下面的代码执行结果是什么
public static voidmain(String[] args) {//TODO Auto-generated method stub
String str1= "a,b,c,,,a";
String str2= "a,b,c,,,";
String str3= "a,b,c, , ,";
String[] s1= str1.split(",");
String[] s2= str2.split(",");
String[] s3= str3.split(",");
System.out.println("str1长度:"+s1.length);
System.out.println("str2长度:"+s2.length);
System.out.println("str3长度:"+s3.length);
}
执行结果:
为什么会出现这样的结果呢,查找API发现了解决方法
解决方法:
通过查看API我们发现我们常用的split方法默认传递的是0,现在解决str2输出空的解决方法是传