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

createh55个月前 (01-13)技术教程55

实践

先来个图,简单展示一下split的两个重载方法;


1、先拿一个入参的做个实验:

逻辑:定义一个字符串,以 '分割'作为分割符,最后将结果转为集合输出:

得两元素,正确;第二次再以 '割'作为分割符,

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

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

2、那我们使用第二个重载方法,两个参数的,第二个参数 :limit是数值型,前边默认取了0,那我们就取个正数看一下 1、2、5:

只返回一个元素,更不对了;

只返回两个,也不对;

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

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

limit既然是数值型,那我们试一下负数:-1、-2、、-5

核对源码解释:

总结

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

相关文章

JAVA快速入门——字符和字符串

字符尽管字符和字符串名字相似;但在JAVA中是两个不同的类型;字符类型char是基本数据类型,(character的缩写)。一个char保存一个Unicode字符:char oneChar = 'A'...

java学习分享:Java截取(提取)子字符串(substring())

在 String 中提供了两个截取字符串的方法,一个是从指定位置截取到字符串结尾,另一个是截取指定范围的内容。下面对这两种方法分别进行介绍。1. substring(int beginIndex) 形...

Java 截取字符串的几种操作

在本文中,我们将学习在Java中把一个String截断到所需的字符数的集中方法。首先,我们将探索使用JDK本身来实现这一目标的方法。然后,我们将研究如何使用一些流行的第三方库来实现这一目标。使用JDK...