Java 字符串的split分割方法小坑点

实践

先来个图,简单展示一下split的两个重载方法;
在这里插入图片描述
1、先拿一个入参的做个实验:

逻辑:定义一个字符串,以 '分割’作为分割符,最后将结果转为集合输出:
在这里插入图片描述

得两元素,正确;第二次再以 '割’作为分割符,
Java 字符串的split分割方法小细节

得两元素,错误,最后应该还有一个空串,为了追查原因,我们查看一下源码:

Java 字符串的split分割方法小细节

如红线所标,大概意思是所末尾空串元素则不会包含在返回的数组里。

2、那我们使用第二个重载方法,两个参数的,第二个参数 :limit是数值型,前边默认取了0,那我们就取个正数看一下 1、2、5:
Java 字符串的split分割方法小细节

只返回一个元素,更不对了;
Java 字符串的split分割方法小细节
只返回两个,也不对;

Java 字符串的split分割方法小细节

5 的时候返回3个元素,这回对了;但是再制造超过5个元素的字符串,如下:

Java 字符串的split分割方法小细节

后面两个没有分割到,这又不对了;

limit既然是数值型,那我们试一下负数:-1、-2、-5
Java 字符串的split分割方法小细节
Java 字符串的split分割方法小细节
Java 字符串的split分割方法小细节
核对源码解释:
Java 字符串的split分割方法小细节

总结

所以,字符串使用split分割,尽量使用 split(String regex, -1),如果实际业务可忽略空串,则可正常使用 split(String regex)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值