Guava 工具类之joiner的使用
2024-09-05 05:44:37
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
最新文章
- Word基础
- POJ 1753 Flip game ( 高斯消元枚举自由变量)
- CLR内存管理
- 一篇不错的讲解Java异常的文章(转载)原作者已没法考证
- hihocoder 1388 &;&;2016 ACM/ICPC Asia Regional Beijing Online Periodic Signal
- 【LeetCode】6. ZigZag Conversion 锯齿形转换
- Leetcode#97 Interleaving String
- Struts2 Convention插件的使用(3)方法前的@Action注解
- Java虚拟机之垃圾回收详解一
- SqlCacheDependency的使用
- Android 代码设置密码输入框内容的显示/隐藏
- STM32普通定时器(TIM2-7)的时钟源
- 学习PHP一个月的感受
- 一步步学习操作系统(1)——参照ucos,在STM32上实现一个简单的多任务(“啰里啰嗦版”)
- 【Zabbix】Zabbix-agent自动化脚本
- Python学习之路——三元运算符推导式
- sonarqube安装部署
- BZOJ3224普通平衡树——非旋转treap
- extjs.net 按钮执行并显示Mask代码
- Qt5.3.2openglVS2010_QSqlField_字段类型
热门文章
- STS工具各版本下载网址
- [Qt Quick] No rule to make target 问题解决办法
- 《剑指offer》数组中只出现一次的数字
- 【概率论】4-2:期望的性质(Properties of Expectation)
- 顺序表应用7:最大子段和之分治递归法(SDUT 3664)
- 《视觉SLAM十四讲》学习日志(一)——预备知识
- 测试的Python、 Java语言之争
- JQuery 行内编辑(即点即改)
- Ubuntu14.04-OpenCV2和3共存相关设置
- Maven 3.6.1 下载及安装配置