Java · 2022年6月29日 0

关于java中使用split方法末尾空值被丢弃的问题

在最近的一次项目中,使用split方法分割字符串后得到的数组与预期不符。
查找原因后发现,使用默认的split方法时,会默认丢弃字符串末尾的空值,而字符串中间的空值则>会作为数组中的一项数据,不会被丢弃。
查询相关资料得知java中的split方法有两个参数,第一个参数是被分割的字符串,第二个参数则是一个int值,此值默认为0,丢弃末尾空数据。
而当第二个参数值大于0时,代表分割字符串后数组的最大长度,当它小于0时,代表获取数组所有值,不会丢弃末尾空值。

String a="a,";
        String[] charsArr=a.split(",");
        System.out.println(charsArr.length);
代码输出的是1
String a="a,";
        String[] charsArr=a.split(",",-1);
        System.out.println(charsArr.length);
代码输出的是2

Share this: