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


最新文章

  1. Word基础
  2. POJ 1753 Flip game ( 高斯消元枚举自由变量)
  3. CLR内存管理
  4. 一篇不错的讲解Java异常的文章(转载)原作者已没法考证
  5. hihocoder 1388 &amp;&amp;2016 ACM/ICPC Asia Regional Beijing Online Periodic Signal
  6. 【LeetCode】6. ZigZag Conversion 锯齿形转换
  7. Leetcode#97 Interleaving String
  8. Struts2 Convention插件的使用(3)方法前的@Action注解
  9. Java虚拟机之垃圾回收详解一
  10. SqlCacheDependency的使用
  11. Android 代码设置密码输入框内容的显示/隐藏
  12. STM32普通定时器(TIM2-7)的时钟源
  13. 学习PHP一个月的感受
  14. 一步步学习操作系统(1)——参照ucos,在STM32上实现一个简单的多任务(“啰里啰嗦版”)
  15. 【Zabbix】Zabbix-agent自动化脚本
  16. Python学习之路——三元运算符推导式
  17. sonarqube安装部署
  18. BZOJ3224普通平衡树——非旋转treap
  19. extjs.net 按钮执行并显示Mask代码
  20. Qt5.3.2openglVS2010_QSqlField_字段类型

热门文章

  1. STS工具各版本下载网址
  2. [Qt Quick] No rule to make target 问题解决办法
  3. 《剑指offer》数组中只出现一次的数字
  4. 【概率论】4-2:期望的性质(Properties of Expectation)
  5. 顺序表应用7:最大子段和之分治递归法(SDUT 3664)
  6. 《视觉SLAM十四讲》学习日志(一)——预备知识
  7. 测试的Python、 Java语言之争
  8. JQuery 行内编辑(即点即改)
  9. Ubuntu14.04-OpenCV2和3共存相关设置
  10. Maven 3.6.1 下载及安装配置