关于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

原文地址:https://www.cnblogs.com/toSeeMyDream/p/14302840.html