001 Joiner
一.概述
本类的名称的含义就是连接器,可以帮助我们实现数据(对象)的连接.
二 . 对象的创建
@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相关推荐
- 图灵有奖书评征集活动第001期
图灵有奖书评征集活动第001期 为了促进LAMP技术在国内的发展,几年以来,图灵公司出版了一系列优秀的LAMP类著作.在读者朋友的鼓励和支持下,图灵的这一系列图书获得了非常好的口碑.为了感谢广大读者朋 ...
- 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 ...
- Joiner的简单了解
public static void main(String[] args) {System.out.println("---------------- ");/*** Googl ...
- SpringBoot 2.0 系列001 -- 入门介绍以及相关概念
为什么80%的码农都做不了架构师?>>> SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://proje ...
- (001) java后台开发之流程初识
java 后台开发流程 这篇文章为了奠基一下被我打入冷宫两个月左右的iOS开发,因为之前由于iOS项目停止的原因,被调至后台开发,两个月中也学习到了很多关于Java.sql.js.jsp的内容,感谢我 ...
- 例题;假设一张纸厚度为0.001米,对折多少次高度可以超过珠峰高度(8848)米。一个篮球第二次弹起的高度是第一次弹起高度的2/3,问弹起n次以后的高度是多少。 主要学习for循环...
对折纸的例题: double houdu = 0.001; for (int i = 1; 1==1; i++) { ...
- 解读2019华为第001号文件:AI时代软件开发的第一要义是可信
晓查 发自 凹非寺 量子位 出品 | 公众号 QbitAI AI加持,万物互联.万物智能. 我们在享受科技进步的同时,软件开发行业却面临着更大的挑战. 过去,软件出现安全问题或许仅仅意味着经济损失,但 ...
- 以python入门教程新世界-国外旅行也不忘学习Python:Python 操作列表001
Python从小白到入门 ~ Part 4 操作列表 001 Python是一门杰出的语言,值得你去学习,咱们现在就开始吧.--<Python编程从入门到实践>P44-P50 人生--这个 ...
- guava中的Joiner
1.结构图 Joiner处理数组.迭代器的拼接 MapJoiner:处理map元素的拼接 2.Joiner 2.1 useForNull 拼接时用字符串代替null值 2.2 skipNulls 拼接 ...
- Python 网络爬虫 001 (科普) 网络爬虫简介
Python 网络爬虫 001 (科普) 网络爬虫简介 1. 网络爬虫是干什么的 我举几个生活中的例子: 例子一: 我平时会将 学到的知识 和 积累的经验 写成博客发送到CSDN博客网站上,那么对于我 ...
最新文章
- 一文总览机器学习中各种【熵】的含义及本质
- 如何写好一份渗透测试报告
- 【LeetCode从零单排】No189	.Rotate Array
- mysql数据库blob换行_mysql Blob存取的一个简单例子
- CentOS 初体验六:登录工具PuTTY使用
- boost::math::nonfinite_num_facets用法的测试程序
- 一个学校内部的计算机网络属于,一个教室内计算机联成的网络属于____。
- xmpp 常见错误 一
- c++解决哥德巴赫猜想问题/c++实现任一大于2的偶数都可以写为两个素数之和
- Orleans 3.0 发布,微软下一代云计算编程模式
- VS Code 1.38 发布,官方图标存储库发布
- oracle的共享内存段,oracle共享内存段手工清理
- React技术栈梳理
- strace的简单用法
- 后台运行 命令_Docker基本命令
- 机器人社社长事迹_新京报整版报道我校机器人学院校友刘鹏见义勇为等事迹
- JS 函数参数及其传递
- redis 失效时间单位是秒还是毫秒_经常用Redis,这些坑你知道吗?
- 哥白尼计划(Copernicus initiative)
- 小程序报错修改Expecting 'STRING','NUMBER'
热门文章
- Caused by: org.hibernate.AssertionFailure: Subclass has to be binded after it's mother class:
- 傅里叶变换的意义和理解(通俗易懂)
- win10远程桌面连接无法找到计算机,解决win10远程桌面无法连接操作教程
- 微信跳一跳小游戏使用charles抓包工具改分攻略
- 山东理工大学ACM平台题答案 1235 计算球体积
- CAN网络dbc格式
- java excel 冻结_如何实现表格的首行冻结2
- 移动端与pc端的区别
- 微信记账小程序-共享账本(附源码及说明),你值得拥有
- [生存志] 第11节 历代大事件概览 春秋