一.概述

  本类的名称的含义就是连接器,可以帮助我们实现数据(对象)的连接.


二 . 对象的创建  

   @Testpublic void test1() {Joiner joiner = Joiner.on(",");}

创建一个Joiner对象,我们可以使用on()方法,含义就是会用这个分隔符进行连接数据.

我们可以发现我们实际上都是使用字符来完成连接器的.


三 . 连接方法

  

Joiner的连接方法核心就是join()方法.我们下面看几个测试例子.

    @Testpublic void test2() {List<String> data = Arrays.asList("1","2","3");String result = Joiner.on("#").join(data);System.out.println("result="+result);} // result=1#2#3

上面就是核心的连接方法,从上面的参数我们可以了解到,join()方法实际上可以帮助我们进行数组和集合的连接.

  我们看一下其中的选择方法:

看下面的例子:

@Testpublic void test3() {List<String> data = Arrays.asList("1",null,"2","3");// 忽略掉null的影响//1#2#3 ,如果出现null,会发生空指针异常String result = Joiner.on("#").skipNulls().join(data);System.out.println(result);String result2 =  Joiner.on("#").useForNull("@@").join(data);//1#@@#2#3System.out.println(result2);}


三 .追加方法

@Testpublic void test4() {StringBuilder prefix =new  StringBuilder("prefix");List<String> data = Arrays.asList("1",null,"2","3");String result = Joiner.on("#").useForNull("@@").appendTo(prefix, data).toString();//prefix1#@@#2#3System.out.println(result);}

我们看到,我们最常用的可能就是StringBuilder这样的结构了.

另外一个常用的就是将数据追加到一个文件之中.

看下面的例子:

    @Testpublic void test5() {final String fileName = "D:\\log.txt"; List<String> data = Arrays.asList("1",null,"2","3");try(FileWriter write = new FileWriter(fileName);){Joiner.on("#").skipNulls().appendTo(write, data);} catch (IOException e) {e.printStackTrace();}}

我们实现了向标准的文件之中追加数据.


四 .对Map集合的操作  

@Test// 测试对Map的操作public void test6() {Map<String,String> map = new HashMap<>();map.put("key1","value1");map.put("key2","value2");map.put("key3","value3");String result = Joiner.on("#").withKeyValueSeparator("-").join(map);//key1-value1#key2-value2#key3-value3System.out.println(result);}

这个操作在有些时候会非常的方便的.

转载于:https://www.cnblogs.com/trekxu/p/9484405.html

001 Joiner相关推荐

  1. 图灵有奖书评征集活动第001期

    图灵有奖书评征集活动第001期 为了促进LAMP技术在国内的发展,几年以来,图灵公司出版了一系列优秀的LAMP类著作.在读者朋友的鼓励和支持下,图灵的这一系列图书获得了非常好的口碑.为了感谢广大读者朋 ...

  2. SAP QM中阶执行事务代码QDB1,报错- Inspection severity 001 AQL 0.650 not in sampling schema A01-

    SAP QM中阶执行事务代码QDB1,报错- Inspection severity 001 AQL 0.650 not in sampling schema A01- 对于sampling proc ...

  3. Joiner的简单了解

    public static void main(String[] args) {System.out.println("---------------- ");/*** Googl ...

  4. SpringBoot 2.0 系列001 -- 入门介绍以及相关概念

    为什么80%的码农都做不了架构师?>>>    SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://proje ...

  5. (001) java后台开发之流程初识

    java 后台开发流程 这篇文章为了奠基一下被我打入冷宫两个月左右的iOS开发,因为之前由于iOS项目停止的原因,被调至后台开发,两个月中也学习到了很多关于Java.sql.js.jsp的内容,感谢我 ...

  6. 例题;假设一张纸厚度为0.001米,对折多少次高度可以超过珠峰高度(8848)米。一个篮球第二次弹起的高度是第一次弹起高度的2/3,问弹起n次以后的高度是多少。 主要学习for循环...

    对折纸的例题:             double houdu = 0.001;             for (int i = 1; 1==1; i++)             {       ...

  7. 解读2019华为第001号文件:AI时代软件开发的第一要义是可信

    晓查 发自 凹非寺 量子位 出品 | 公众号 QbitAI AI加持,万物互联.万物智能. 我们在享受科技进步的同时,软件开发行业却面临着更大的挑战. 过去,软件出现安全问题或许仅仅意味着经济损失,但 ...

  8. 以python入门教程新世界-国外旅行也不忘学习Python:Python 操作列表001

    Python从小白到入门 ~ Part 4 操作列表 001 Python是一门杰出的语言,值得你去学习,咱们现在就开始吧.--<Python编程从入门到实践>P44-P50 人生--这个 ...

  9. guava中的Joiner

    1.结构图 Joiner处理数组.迭代器的拼接 MapJoiner:处理map元素的拼接 2.Joiner 2.1 useForNull 拼接时用字符串代替null值 2.2 skipNulls 拼接 ...

  10. Python 网络爬虫 001 (科普) 网络爬虫简介

    Python 网络爬虫 001 (科普) 网络爬虫简介 1. 网络爬虫是干什么的 我举几个生活中的例子: 例子一: 我平时会将 学到的知识 和 积累的经验 写成博客发送到CSDN博客网站上,那么对于我 ...

最新文章

  1. 一文总览机器学习中各种【熵】的含义及本质
  2. 如何写好一份渗透测试报告
  3. 【LeetCode从零单排】No189 .Rotate Array
  4. mysql数据库blob换行_mysql Blob存取的一个简单例子
  5. CentOS 初体验六:登录工具PuTTY使用
  6. boost::math::nonfinite_num_facets用法的测试程序
  7. 一个学校内部的计算机网络属于,一个教室内计算机联成的网络属于____。
  8. xmpp 常见错误 一
  9. c++解决哥德巴赫猜想问题/c++实现任一大于2的偶数都可以写为两个素数之和
  10. Orleans 3.0 发布,微软下一代云计算编程模式
  11. VS Code 1.38 发布,官方图标存储库发布
  12. oracle的共享内存段,oracle共享内存段手工清理
  13. React技术栈梳理
  14. strace的简单用法
  15. 后台运行 命令_Docker基本命令
  16. 机器人社社长事迹_新京报整版报道我校机器人学院校友刘鹏见义勇为等事迹
  17. JS 函数参数及其传递
  18. redis 失效时间单位是秒还是毫秒_经常用Redis,这些坑你知道吗?
  19. 哥白尼计划(Copernicus initiative)
  20. 小程序报错修改Expecting 'STRING','NUMBER'

热门文章

  1. Caused by: org.hibernate.AssertionFailure: Subclass has to be binded after it's mother class:
  2. 傅里叶变换的意义和理解(通俗易懂)
  3. win10远程桌面连接无法找到计算机,解决win10远程桌面无法连接操作教程
  4. 微信跳一跳小游戏使用charles抓包工具改分攻略
  5. 山东理工大学ACM平台题答案 1235 计算球体积
  6. CAN网络dbc格式
  7. java excel 冻结_如何实现表格的首行冻结2
  8. 移动端与pc端的区别
  9. 微信记账小程序-共享账本(附源码及说明),你值得拥有
  10. [生存志] 第11节 历代大事件概览 春秋