七、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. OAuth2实现单点登录SSO

    1.  前言 技术这东西吧,看别人写的好像很简单似的,到自己去写的时候就各种问题,“一看就会,一做就错”.网上关于实现SSO的文章一大堆,但是当你真的照着写的时候就会发现根本不是那么回事儿,简直让人抓 ...

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

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

  3. 痞子衡嵌入式:如果i.MX RT是一匹悍马,征服它时别忘了用马镫MCUBootUtility

    -- 跨界之风吹满地,先锋当属NXP; 微控制器谁独骚?当仁不让看RT! 恩智浦半导体2017年10月正式发布了业内首款跨界处理器-i.MX RT系列,这是MCU界的汗血宝马,更是一匹桀骜不驯的悍马. ...

  4. SpringBoot集成rabbitmq(二)

    前言 在使用rabbitmq时,我们可以通过消息持久化来解决服务器因异常崩溃而造成的消息丢失.除此之外,我们还会遇到一个问题,当消息生产者发消息发送出去后,消息到底有没有正确到达服务器呢?如果不进行特 ...

  5. 树莓派播放视频的播放器omxplayer

    omxplyer为树莓派量身定做的一款GPU硬件加速的播放器,很好的解决了树莓派cpu计算力不足的缺点.(播放时cpu一定都不烫手) 1.安装方法: CTRL + ALT + T 调出终端命令行输入 ...

  6. pm2通过配置文件部署nodejs代码到服务器

    一.pm2文档地址: http://pm2.keymetrics.io/ 二.在本地项目下新建ecosystem.config.js文件,并且推送到远端(记得node_modules这个文件夹也得推送 ...

  7. 关于C#的new与override

    先放出来两个基类和派生类: public class BaseClass { public virtual void Method1(string desc) { Console.WriteLine( ...

  8. Eureka的工作原理以及它与ZooKeeper的区别

    1.Eureka 简介: Eureka 是 Netflix 出品的用于实现服务注册和发现的工具. Spring Cloud 集成了 Eureka,并提供了开箱即用的支持.其中, Eureka 又可细分 ...

  9. c#实战开发:以太坊Geth 命令发布智能合约 (五)

    Token的合约代码我们参考Token-Factory的代码. 打开  https://remix.ethereum.org/#optimize=false&version=soljson-v ...

  10. 如何在windows系统下安装swoole

    swoole框架是一个很神奇很厉害的框架,它弥补了PHP的本身的一些不足之处.其实swoole确切的说是一个使用C语言编写的PHP扩展,并且这个扩展不能够在windows系统使用,但是就目前的开发环境 ...