Java8 教程

Java8 字符串增强

在日常开发中,我们经常会遇到这样的任务:将多个字符串组合起来,并通过一个分隔符将它们分隔开来。例如:拼接文件地址

String dir = ...;
String year = ...;
String month = ...;
String day = ...;
String name = ...;
String filePath = dir + "/" + year + "/" + month + "/" + day + "/" + name;

往往为了方便,我们通常在项目中引入“commons-lang3”组件来实现该任务,例如:

import org.apache.commons.lang3.StringUtils;
//...

String str = StringUtils.joinWith("/", "dir", "year", "month", "day", "name");
System.out.println(str);
//结果:
//dir/year/month/day/name

幸运的是,现在这个任务已经被添加到 Java8 中。字符串可以来自于一个数组或者一个 Iterable<?extends CharSequence> 对象:

String str = String.join("/", "dir", "year", "month", "day", "name");
System.out.println(str);
//结果:
//dir/year/month/day/name

str = String.join("/", Arrays.asList("dir", "year", "month", "day", "name"));
System.out.println(str);
//结果:
//dir/year/month/day/name

String.join() 方法定义如下:

  • static String join(CharSequence delimiter, CharSequence... elements)  返回由 CharSequence 元素副本和指定分隔符副本组成的新字符串。

  • static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)  返回由 CharSequence 元素副本和指定分隔符副本组成的新字符串。

我们可以将 join 想象成一个与 String.split 实例方法相反的方法。它是 Java8 为 String 类添加的唯一一个方法。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号