嗯... 在最近的一次项目中,使用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

相关文章:

  • 2021-09-19
  • 2021-05-15
  • 2021-10-06
  • 2021-10-15
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
  • 2022-12-23
猜你喜欢
  • 2022-01-12
  • 2021-11-27
  • 2021-09-12
  • 2022-12-23
  • 2021-07-16
相关资源
相似解决方案