(七)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);
}
(七)jdk8学习心得之join方法的更多相关文章
- (五)jdk8学习心得之默认方法
五.默认方法 1. 使用方法:写在接口中,就是为了接口可以做一些事情. 2. 目的:有很多实现类,有一个公共的抽象方法,其实这些实现类实现该抽象方法的内容是完全一致的,完全没有必要都重新实现一遍.并且 ...
- (三)jdk8学习心得之方法引用
三.方法引用 https://www.jianshu.com/p/c9790ba76cee 这边博客写的很好,可以首先阅读,在这里感谢这篇文章的博主. 1. 格式 调用者::调用者具备的方法名 2. ...
- (一)jdk8学习心得之遍历
一.遍历 -- 最好和stream流连用 使用jdk8提供的forEach进行遍历时,采用的是多线程的操作,理论上讲是会比原来的方法更快.但是注意,系统启动时需要加载lambda框架的内容.因此如果通 ...
- c# 学习心得(函数方法类)
函数或者说方法都是写在类下的,我们可以通过函数名来调用它们.首先,我们要弄清楚为什么会有函数或者说方法这种东西?这里,我们使用了与前一篇同样的思维方式,先从它的目的或者实用价值出发.当我们在编写程序的 ...
- (八)jdk8学习心得之Optional类
八.Optional 类 1. 作用:可以存放空指针null,主要用于解决空指针问题. 2. 使用方法 1) 创建对象(2种方法) Optional optional = Optional.of(非n ...
- (六)jdk8学习心得之Stream流
六.Stream流 1. 什么是stream流 现阶段,可以把stream流看成一个高级版的Iterator.普通的Iterator只能实现遍历,遍历做什么,就需要具体些功能代码函数了.而这个stre ...
- (四)jdk8学习心得之函数式接口
四.函数式接口 1. 格式 注:抽象方法就是通过lambda表达式或者方法引用实现. 2. Jdk提供的函数式接口(这里提供五个最为常用的) 3. 技巧 通过函数式接口,就可以把一个函数作为一个参数进 ...
- (二)jdk8学习心得之Lambda表达式
二.Lambda表达式 1. 格式 (参数1,参数2,…,参数n)->{方法体} 注意: (参数1,参数2,...,参数n)要与方法接口中的参数一致,但是名字可以不一样. 此外,方法类型接口,有 ...
- 我的MYSQL学习心得(七) 查询
我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
随机推荐
- BaiduSpeechDemo【百度语音SDK集成】(基于v3.0.8.1)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 上一篇集成的是V3.0.7.3版本的SDK<BaiduSpeechDemo[百度语音SDK集成](基于v3.0.7.3)> ...
- Spring Boot 2.0 配置图文教程
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 本章内容 自定义属性快速入门 外化配置 自动配置 自定义创建 ...
- C#语法——消息,MVVM的核心技术。
在C#中消息有两个指向,一个指向Message,一个指向INotify.这里主要讲INotify. INotify也有人称之为[通知],不管叫消息还是通知,都是一个意思,就是传递信息. 消息的定义 I ...
- 【深度学习系列】PaddlePaddle垃圾邮件处理实战(二)
PaddlePaddle垃圾邮件处理实战(二) 前文回顾 在上篇文章中我们讲了如何用支持向量机对垃圾邮件进行分类,auc为73.3%,本篇讲继续讲如何用PaddlePaddle实现邮件分类,将深度 ...
- Abp.Castle.Log4Net : Method 'get_IsTraceEnabled' does not have an implementation
异常内容 System.TypeLoadException HResult=0x80131522 Message=Method 'get_IsTraceEnabled' in type 'Abp.Ca ...
- 【spring实战第五版遇到的坑】3.1中的例子报错
按照书中的例子,一直做到第3.1章使用JDBC读写数据时,在提交设计的taco表单时,报了如下的异常信息: Failed to convert property value of type java. ...
- Spring(三)使用JdbcTemplate对象完成查询
查询银行账户的数量 1.建立一个项目导入jar包(ioc aop dao 连接池 数据库驱动 ),拷贝容器对应的配置文件到src下 2.在配置文件中开启组件扫描 3.写一个DAO接口定义一个查询方法 ...
- JavaScript篇 深入理解JavaScript函数
JavaScript中的函数 1. 函数的定义 两种定义形式: 通过函数定义表达式来定义 通过函数声明语句来定义 函数声明语句定义一个函数 //计算阶乘的递归函数 function factorial ...
- 1.3 使命的完成者Command
为什么要从Command说起? 因为Command才是Cesium源码中真正意义的绘制细胞.
- deepin linux学习笔记
目录 deepin linux学习笔记 前言 linux常用命令 ls 显示文件夹内容 cd 切换当前目录 pwd 查看当前工作目录 mkdir 新建文件夹 rm 删除文件或文件夹 mv 移动文件 c ...