网站首页 > 基础教程 正文
实践
先来个图,简单展示一下split的两个重载方法;
1、先拿一个入参的做个实验:
逻辑:定义一个字符串,以 '分割'作为分割符,最后将结果转为集合输出:
得两元素,正确;第二次再以 '割'作为分割符,
得两元素,错误,最后应该还有一个空串,为了追查原因,我们查看一下源码:
如红线所标,大概意思是所末尾空串元素则不会包含在返回的数组里。
2、那我们使用第二个重载方法,两个参数的,第二个参数 :limit是数值型,前边默认取了0,那我们就取个正数看一下 1、2、5:
只返回一个元素,更不对了;
只返回两个,也不对;
5 的时候返回3个元素,这回对了;但是再制造超过5个元素的字符串,如下:
后面两个没有分割到,这又不对了;
limit既然是数值型,那我们试一下负数:-1、-2、、-5
核对源码解释:
总结
所以,字符串使用split分割,尽量使用 split(String regex, -1),如果实际业务可忽略空串,则可正常使用 split(String regex)。
猜你喜欢
- 2024-10-18 java简易闹钟程序源码 java闹钟简单代码
- 2024-10-18 Java基础 网络编程 java中网络编程三要素
- 2024-10-18 从愚蠢的代码中学习:一位Java程序员的反思
- 2024-10-18 Java集合、多线程、反射和Spring框架总结,源码解析
- 2024-10-18 Java 字符串详解 java字符串符号
- 2024-10-18 Java实现删除某条信息并返回当前页操作
- 2024-10-18 恕我直言,在座的各位根本不会写 Java!
- 2024-10-18 Java 21:有什么新变化? java21和java22是什么版本
- 2024-10-18 Java将List按指定数量拆分成多个的两种实现方法
- 2024-10-18 「Java知识」字符串拼接不要再StringBuilder了用StringJoiner爽
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)