七、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);
}

(七)jdk8学习心得之join方法的更多相关文章

  1. (五)jdk8学习心得之默认方法

    五.默认方法 1. 使用方法:写在接口中,就是为了接口可以做一些事情. 2. 目的:有很多实现类,有一个公共的抽象方法,其实这些实现类实现该抽象方法的内容是完全一致的,完全没有必要都重新实现一遍.并且 ...

  2. (三)jdk8学习心得之方法引用

    三.方法引用 https://www.jianshu.com/p/c9790ba76cee 这边博客写的很好,可以首先阅读,在这里感谢这篇文章的博主. 1. 格式 调用者::调用者具备的方法名 2. ...

  3. (一)jdk8学习心得之遍历

    一.遍历 -- 最好和stream流连用 使用jdk8提供的forEach进行遍历时,采用的是多线程的操作,理论上讲是会比原来的方法更快.但是注意,系统启动时需要加载lambda框架的内容.因此如果通 ...

  4. c# 学习心得(函数方法类)

    函数或者说方法都是写在类下的,我们可以通过函数名来调用它们.首先,我们要弄清楚为什么会有函数或者说方法这种东西?这里,我们使用了与前一篇同样的思维方式,先从它的目的或者实用价值出发.当我们在编写程序的 ...

  5. (八)jdk8学习心得之Optional类

    八.Optional 类 1. 作用:可以存放空指针null,主要用于解决空指针问题. 2. 使用方法 1) 创建对象(2种方法) Optional optional = Optional.of(非n ...

  6. (六)jdk8学习心得之Stream流

    六.Stream流 1. 什么是stream流 现阶段,可以把stream流看成一个高级版的Iterator.普通的Iterator只能实现遍历,遍历做什么,就需要具体些功能代码函数了.而这个stre ...

  7. (四)jdk8学习心得之函数式接口

    四.函数式接口 1. 格式 注:抽象方法就是通过lambda表达式或者方法引用实现. 2. Jdk提供的函数式接口(这里提供五个最为常用的) 3. 技巧 通过函数式接口,就可以把一个函数作为一个参数进 ...

  8. (二)jdk8学习心得之Lambda表达式

    二.Lambda表达式 1. 格式 (参数1,参数2,…,参数n)->{方法体} 注意: (参数1,参数2,...,参数n)要与方法接口中的参数一致,但是名字可以不一样. 此外,方法类型接口,有 ...

  9. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

随机推荐

  1. Elasticsearch倒排索引结构

    一切设计都是为了提高搜索的性能 倒排索引(Inverted Index)也叫反向索引,有反向索引必有正向索引.通俗地来讲,正向索引是通过key找value,反向索引则是通过value找key. 先来回 ...

  2. k8s源码分析准备工作 - 源码准备

    本文原始地址:https://farmer-hutao.github.io/k8s-source-code-analysis/ 项目github地址:https://github.com/farmer ...

  3. 博主新建Linux学习交流群,欢迎广大大神入驻~

    一转眼2018已经过去,博主在博客园辛勤耕耘了1年多,也结识了很多志同道合的道友: 收获了“基”情满满的友谊的同时,也大大拓宽了自己的眼界~ 深深感到在漫漫的学习之路,需要有道友一同共勉和相互激励! ...

  4. Java基础之 反射是什么?

    什么是反射,反射能干嘛? 反射是:指程序可以访问.检测和修改它本身状态或行为的一种能力 反射是一种能力,所以给的定义就是说明了它能干嘛. 我们平时用反射主要做: 获取类型的相关信息 动态调用方法 动态 ...

  5. MariaDB Galera集群部署--技术流ken

    Galera集群介绍 MariaDB集群是MariaDB同步多主机集群.它仅支持XtraDB/ InnoDB存储引擎. 主要功能 同步复制 真正的multi-master,即所有节点可以同时读写数据库 ...

  6. Linux磁盘管理及LVM讲解(week2_day2)--技术流ken

    硬盘接口 从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而SAS只在高端服务器上,价 ...

  7. 文件输入输出流工具: IOUtils使用总结

    序言 以前写文件的复制很麻烦,需要各种输入流,然后读取line,输出到输出流...其实apache.commons.io里面提供了输入流输出流的常用工具方法,非常方便.下面就结合源码,看看IOUTil ...

  8. Writing a Simple Service and Client (C++)

    此前说的publisher/subscriber都是广播式的,subscriber被动地接收消息,二者没有request/response这种交互. Service Node Client Node ...

  9. Oracle数据库的安装 【超详细的文图详解】

    Oracle简介Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库 ...

  10. js中关于两个变量的比较

    今天在匆忙的写代码过程中,测试突然跑过来跟我说,有一个小的bug,但是不能完全的复现,但确实存在.需要我们这边参与查找.首先来说一下我们这个的业务逻辑,其实非常的简单,就是一个开房间的后台,里面有一项 ...