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 类添加的唯一一个方法。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号