关于java中使用split方法末尾空值被丢弃的问题
嗯... 在最近的一次项目中,使用split方法分割字符串后得到的数组与预期不符。
查找原因后发现,使用默认的split方法时,会默认丢弃字符串末尾的空值,而字符串中间的空值则会作为数组中的一项数据,不会被丢弃。
查询相关资料得知java中的split方法有两个参数,第一个参数是被分割的字符串,第二个参数则是一个int值,此值默认为0,丢弃末尾空数据。
而当第二个参数值大于0时,代表分割字符串后数组的最大长度,当它小于0时,代表获取数组所有值,不会丢弃末尾空值。
以上,留用。
String a="a,"; String[] charsArr=a.split(","); System.out.println(charsArr.length);
如上代码输出的是1,而不是2
String a="a,"; String[] charsArr=a.split(",",-1); System.out.println(charsArr.length);
如上代码输出的是2