(七)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学习心得(四) 数据类 ...
随机推荐
- LINQ 常规实践总结
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续两次OrderBy,后面一个有可能会打乱前面一个的排序顺序,可能与预期不符. 要实现sql中的order by word,nam ...
- Linux 进程终止后自动重启
/opt/a.sh #! /bin/bash ps -ef | grep python3 a.py | grep -v grep | grep python3 if [ $? -ne 0 ] then ...
- java~springboot~ibatis数组in查询的实现
在ibatis的xml文件里,我们去写sql语句,对应mapper类的方法,这些sql语句与控制台上没什么两样,但在有些功能上需要注意,如where in这种从数组里查询符合条件的集合里,需要在xml ...
- Mybatis+mysql批量插入性能分析测试
前言 今天在网上看到一篇文章(后文中的文章指的就是它) https://www.jianshu.com/p/cce617be9f9e 发现了一种有关于mybatis批量插入的新方法,而且看了文章发现我 ...
- 图像检索(2):均值聚类-构建BoF
在图像检索时,通常首先提取图像的局部特征,这些局部特征通常有很高的维度(例如,sift是128维),有很多的冗余信息,直接利用局部特征进行检索,效率和准确度上都不是很好.这就需要重新对提取到的局部特征 ...
- 自定义GridControl编辑器
本文版权归博主 惊梦无痕 所有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作.SourceLink 鉴于网上的针对GridControl的一些代码比较凌乱,且功能分散,故将整理过的代码分享出来 ...
- ftp上传与下载文件
准备工作 服务器已经配置好ftp服务 服务器linux centos 7.4 搭建ftp服务器:https://www.cnblogs.com/mmzs/p/10601683.html 需要用到的ja ...
- Linux下安装使用Redis
cd /usr/local/src //进入src目录 wget http://download.redis.io/releases/redis-4.0.1.tar.gz //下载到src ...
- vue中的tab栏切换内容变换
<!DOCTYPE html> <html lang="cn-zh"> <head> <meta charset="UTF-8& ...
- lambda 怎么传递ref参数
lambda 传递ref参数有个语法bug,必须要显式书写参数类型. //如 delegate bool FuncType(ref int num); FuncType func1; func1 = ...