0
点赞
收藏
分享

微信扫一扫

java join字符串集合操作

高子歌 2022-06-15 阅读 94

我们在使用javascript或者python的时候,都用过join方法,可以将一个集合转换成用指定字符连接集合中所有元素的字符串,例如:

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.join())

</script>

在java中可以通过以下方式实现。

1、java8新增api:

1)StringJoiner类:

java8种新增一个StringJoiner类,用法如下:

StringJoiner joiner = new StringJoiner("-");
joiner.add("a");
joiner.add(null);
joiner.add("c");
System.out.println(joiner.toString());//a-null-c

2)String的join方法:

String类提供了static方法join,如下:

List<String> list = Arrays.asList("a",null,"c");
System.out.println(list);//[a, null, c]


String str2 = String.join("-",list);
System.out.println(str2);//a-null-c

3)stream api:

List<String> list = Arrays.asList("a",null,"c");
System.out.println(list);//[a, null, c]

String str4 = list.stream().collect(Collectors.joining("-"));
System.out.println(str4);//a-null-c

2、commons-lang3工具包:

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>

commons-lang3种StringUtils类提供了join方法,使用如下:

List<String> list = Arrays.asList("a",null,"c");
System.out.println(list);//[a, null, c]

String str1 = StringUtils.join(list, "-");
System.out.println(str1);//a--c

3、guava工具:

guava包中的Joiner类提供了join等方法,用法如下:

List<String> list = Arrays.asList("a",null,"c");
System.out.println(list);//[a, null, c]


String str5 = Joiner.on("-").skipNulls().join(list);
System.out.println(str5);//a-c

注:如果去掉skipNulls()方法,对于集合中有null的情况,会直接报错。


举报

相关推荐

0 条评论