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

实践

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


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

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

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

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

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

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

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

只返回两个,也不对;

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

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

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

核对源码解释:

总结

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

相关文章

Java基础之String与int两者之间如何相互转换?

项目开发中String字符串和int整型之间的转换操作是很常见的,当然可能你也会遇到String字符串和其它基本数据类型的转换操作,比如float、long、double等常见的类型。那么如果我们学会...

Java Jackson 中如何将 JSON 对象转换为字符串

通常来说只需要下面的 1 行代码就可以完成下面的转换了。请考察下面的代码:String newsletterJSON = mapper.writerWithDefaultPrettyPrinter()...

Java Array 和 String 的转换

英文标题【Array to String Conversions】概述本页面中的内容对 Array 和 String 之间互相进行转换的方法进行一些说明。我们可以使用 原生 Java(vanilla...

Java对象与JSON字符串互相转换

Java对象与JSON字符串互相转换1.准备工作在与前端页面交互时,经常需要传递json字符串数据,我们可以使用JSONObject来处理json字符串。需要导入2个jar包:fastjson-1.2...

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

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

idea插件开发,写Java代码时中文字符替换为英文字符的多种方法

大部分编程语言写代码的时候,不能出现中文标点符号,必须使用英文的标点符号,但是写代码的过程中,很多时候是需要写中文注释的,这样来回切换输入法呢,有点繁琐,有时候不小心忘记切换,就写错了,有的编辑器比较...