(七)jdk8学习心得之join方法

时间:2023-03-09 08:05:18
(七)jdk8学习心得之join方法

七、join方法

1、 作用:将list或者数组按照连接符进行连接,返回一个字符串。

2、 使用方法

1) String.join(“连接符”,数组对象或者list对象)

2) 首先转换成stream流,然后stream流对象.collect(Collectors.joining(“连接符”));

3、 注意事项

1)     数组或者list没有内容时,转换后的字符串为空

2)     数组或者list只有一个内容,转换后的字符串为单一元素构成,后面没有连接符

3)     数组或者list中有两个或者两个以上元素时,转换成字符串之后通过连接符链接各个元素。

例子:

@Test
public void test1() {
    String[] strings1 = new String[]{};
    List<String> list1
= new ArrayList<>();
    String arrayStr1
= String.join("@", strings1);
    System.out.println("arrayStr1:"
+ arrayStr1);
    String listStr1
= String.join("#", list1);
    System.out.println("listStr1:"
+ listStr1);
    String s1 = Arrays.stream(strings1).collect(Collectors.joining("+"));
    System.out.println("s1:" + s1);
    String s2 = list1.stream().collect(Collectors.joining("_"));
    System.out.println("s2:" + s2);

}

@Test
public void test2() {
    String[] strings2 = new String[]{"张三"};
    List<String> list2
= new ArrayList<>();
    list2.add("张三");
    String arrayStr2
= String.join("@", strings2);
    System.out.println("arrayStr2:"
+ arrayStr2);
    String listStr2
= String.join("#", list2);
    System.out.println("listStr2:"
+ listStr2);
    String s1 = Arrays.stream(strings2).collect(Collectors.joining("+"));
    System.out.println(s1);
    String s2 = list2.stream().collect(Collectors.joining("_"));
    System.out.println(s2);

}

@Test
public void test3() {
    String[] strings1 = new String[]{"张三", "李四"};
    List<String> list1
= new ArrayList<>();
    list1.add("张三");
    list1.add("李四");
    String arrayStr1
= String.join("@", strings1);
    System.out.println("arrayStr1:"
+ arrayStr1);
    String listStr1
= String.join("#", list1);
    System.out.println("listStr1:"
+ listStr1);
    String s1 = Arrays.stream(strings1).collect(Collectors.joining("+"));
    System.out.println(s1);
    String s2 = list1.stream().collect(Collectors.joining("_"));
    System.out.println(s2);
}