七、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. python获取set-cookies

    python获取set-cookies #!/usr/bin/python3.4 # -*- coding: utf-8 -*- import requests url = "https:/ ...

  2. 【深度学习篇】--神经网络中的调优一,超参数调优和Early_Stopping

    一.前述 调优对于模型训练速度,准确率方面至关重要,所以本文对神经网络中的调优做一个总结. 二.神经网络超参数调优 1.适当调整隐藏层数对于许多问题,你可以开始只用一个隐藏层,就可以获得不错的结果,比 ...

  3. 批量执行工具PSSH详解

    批量执行工具PSSH详解 pssh是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,使用必须在各个服务器上配置好密钥认证访问. 安装pssh包 yum 安 ...

  4. RDIFramework.NET V3.3 Web版新增系统公告、系统新闻模块方便需要的客户

    1.系统新闻功能描述 在RDIFramework.NET V3.3版本中新增了系统新闻模块,用户可以根据实际情况做相应应用,如用在内部业务系统的展示中或网站上新闻的展示.新闻可以分类进行管理,非常的实 ...

  5. [Javascript] encodeURIComponent()方法

    在vue項目中使用vue-router通过url进行传值 encodeURIComponent encodeURIComponent() 函数可把字符串作为 URI 组件进行编码.encodeURIC ...

  6. ado.net的简单数据库操作(三)——简单增删改查的实际应用

    果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...

  7. ASP.Net Mvc实现自定义User Identity用户身份识别系统(2)

    上一篇博文中已经实现了如何在页面上使用自定义的属性即上篇博文所示的@this.U,今天将进一步研究用户自定义User Identity; 实现思路: 通过研究微软自带identity的套路,我们可以发 ...

  8. 学JAVA第十七天,接口与抽象方法

    JAVA接口可以让代码更加有合理的规范性,就想一个项目小组,组长要负责把成员的代码整合,但是每个成员写的方式都是按照他们自己的想法来写的, 所以,整合起来就非常麻烦. 但是,如果我们的组长制作了一个接 ...

  9. 使用go, gin, gorm编写一个简单的curd的api接口

    go 是一门非常灵活的语言,既具有静态语言的高性能,又有动态语言的开发速度快的优点,语法也比较简单,下面是通过简单的代码实现了一个简单的增删改查 api 接口 hello world 常规版 新建 d ...

  10. iframe中的a标签电话链接不能正常打开

    背景 经测试,android手机中没有这个问题, iphone手机中的Safari浏览器会出现这个问题. 例如: <a href = "tel://1-408-555-5555&quo ...