Guava 工具类之joiner的使用
joiner主要用于对字符串的连接,也可用于对map中key value的连接
public class JoinerTest {
private static final List<String> list1 = Arrays.asList
("google","guava","java","scala","kafka");
private static final List<String> list2 = Arrays.asList
("google","guava","java",null,"scala","kafka");
public static void main(String[] args) throws IOException {
//1.用指定的字符连接
String join = Joiner.on("#").join(list1);
System.out.println("用 # 号连接的字符串是:"+join);
//2.跳过连接中的null值
String joinNull = Joiner.on("#").skipNulls().join(list2);
System.out.println("用 # 号连接的字符串,跳过中间的null值:"+joinNull);
//3.有null值存在时用指定值代替
String joinUseForNull = Joiner.on("#").useForNull("DEFAULT").join(list2);
System.out.println("用指定值代替集合中的null值:"+joinUseForNull);
//4.把集合变成一个stringBuilder 或者stringBuffer
StringBuilder builder = Joiner.on("#").useForNull("DEFAULT").appendTo(new StringBuilder(), list2);
StringBuffer buffer = Joiner.on("#").useForNull("DEFAULT").appendTo(new StringBuffer(), list2);
System.out.println("拼接成的 builder是:"+builder);
System.out.println("拼接成的buffer是:"+buffer);
//5.对于map中key value的分隔
Map<String, String> map = new HashMap<String, String>();
map.put("hello", "java");
map.put("scala", "guava");
String joinMap = Joiner.on("#").withKeyValueSeparator("=").join(map);
System.out.println("key value 的分隔符:"+joinMap);
}
}
//打印结果
用 # 号连接的字符串,跳过中间的null值:google#guava#java#scala#kafka
用指定值代替集合中的null值:google#guava#java#DEFAULT#scala#kafka
拼接成的 builder是:google#guava#java#DEFAULT#scala#kafka
拼接成的buffer是:google#guava#java#DEFAULT#scala#kafka
key value 的分隔符:scala=guava#hello=java
Guava 工具类之joiner的使用的更多相关文章
- 强大的 Guava 工具类
Java 开发的同学应该都使用或者听说过 Google 提供的 Guava 工具包.日常使用最多的肯定是集合相关的工具类,还有 Guava cache,除了这些之外 Guava 还提供了很多有用的功能 ...
- 工具篇:介绍几个好用的guava工具类
前言 平时我们都会封装一些处理缓存或其他的小工具.但每个人都封装一次,重复造轮子,有点费时间.有没有一些好的工具库推荐-guava.guava是谷歌基于java封装好的开源库,它的性能.实用性,比我们 ...
- Guava工具类
原文链接:http://blog.csdn.net/mnmlist/article/details/53425865 Objects类 Objects类有几个比较不错的方法,toString.hash ...
- Google guava工具类的介绍和使用
概述 工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率.谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来.所以就诞生了guava.. 高效设计良好的API ...
- Google的Guava工具类splitter和apache stringutil对比 编辑
一直用的是apache的stringutil工具类,其实google的工具类项目 guava中居然也有字符串的分隔类splitter的,在 http://code.google.com/p/guava ...
- Guava工具类学习
目录 一.介绍 二.Optional类 1.定义 2.java8自带Optional 3.使用 三.Preconditions类 1.定义 2.使用 四.Ordering类 1.定义 2.使用 五.R ...
- Guava 工具类之Cache的使用
一.guava cache 介绍 1.介绍 guava cache是Google guava中提供的一款轻量级的本地缓存组件,其特点是简单.轻便.完善.扩展性强,内存管理机制也相对完善. 2.使用缓存 ...
- Guava 工具类之 Splitter的使用
Splitter可以对字符串进行分割,在分割时的方式有2种, 1.按字符/字符串分割 2.按正则进行分割 Splitter在分割完成时可以转换成list和map 一.按字符进行分割 //1.用指定字符 ...
- Guava 工具类之Strings 的使用
public class StringTest { public static void main(String[] args) { //判断是null还是空字符串 boolean b1 = Stri ...
随机推荐
- 001_Python安装
1. 判断电脑是否已经安装python,电脑->运行->输入:python 2. 如果没有安装,去官网下载:https://www.python.org/downloads/ 3. 安装过 ...
- 022_统计每个远程 IP 访问了本机 apache 几次?
#$1为IP#i为不同的IP#print ip[i],i 输出不同IP出现的次数总和以及它们是谁#ip[$1]++ 未定义则从0开始,IP出现则自增 #!/bin/bashawk '{ip[$1]++ ...
- 参数类型 (@Controller层)
@RequestMapping(path = "/listPage")@SuppressWarnings("unchecked")@BussinessLog(v ...
- Cogs 1500. 误差曲线(三分)
误差曲线 ★★ 输入文件:errorcurves.in 输出文件:errorcurves.out 评测插件 时间限制:1 s 内存限制:256 MB [题目描述] Josephina是一名聪明的妹子, ...
- SpringAOP配置与使用(示例)
1.pom.xml追加 spring-aspects aspectjrt 为控制器以外的类织入切面 2.新建spring-aop.xml <?xml version="1.0" ...
- Ubuntu 14.04 网卡网关配置修改
#添加网关route add default gw 192.168.5.1#强制修改网卡地址ifconfig eth0 192.168.5.40 netmask 255.255.255.0. 服务器需 ...
- python 导入包
mkdir fff dddtouch ddd/test.py ddd/__init__.py sudo vi fff/te.py写入:import syssys.path.append('../')f ...
- python异常链
习惯使用java开发,在java开发里有异常链概念和重新抛出异常,在python是怎么实现的呢? 1.异常链 1.1.java实现 public static void test1() throws ...
- Maven依赖传递
依赖传递原则: 1.路径最短原则 2.路径相同是先申明者优先(dependency申明顺序先的优先)
- spring boot定时任务
介绍 该demo是基于注解(@Scheduled)以及多线程执行的定时任务. 步骤 启用异步执行 springboot实现异步调用 入口类添加启动注解 @EnableScheduling @Enabl ...