具体使用参考官方文档:https://github.com/google/guava/wiki/StringsExplained#joiner
//1 处理,为null的值,替换
String join = Joiner.on("_").useForNull("*").join("1", "2", 90, 100,110,109,200,202,400,500);
System.out.println(join);
//2 处理,为null的值,略过
String join2 = Joiner.on("_").skipNulls().join(1,3,4354);
System.out.println(join2);
//3 对数组分隔
String [] arrays = new String[]{"11","22","33"};
String join3 = Joiner.on("_").join(arrays);
System.out.println(join3);
Assert.equals(join3,"11_22_33");
//4 对list分隔
List list = Arrays.asList(null, 1, 2, null, 3, 4, 6, null);
String join4 = Joiner.on("_").skipNulls().join(list);
System.out.println(join4);
//5 对StringBuilder进行追加
StringBuilder builder = new StringBuilder();
builder.append("te");
List listTest = Lists.newArrayList(null,1,2,null,3,4,6,null);
StringBuilder sb = Joiner.on("").skipNulls().appendTo(builder,listTest);
System.out.println(sb.toString());
//6 对map进行分隔,用withKeyValueSeparator,map的key或者value为null,一定要用useForNull,否则key和value均不允许null
Map<String,String> map = new HashMap<>();
map.put("1key","1");
map.put("2key","2");
map.put(null,"3");
String mapString = Joiner.on("&").withKeyValueSeparator("=").useForNull("nullValue").join(map);
System.out.println(mapString);
//7 对文件进行追加,只要是实现了Appendable接口的类均可以用Joiner来处理
FileWriter fileWriter = new FileWriter("C:\\Users\\tangqing\\Desktop\\test.apk.txt");
String [] arraysFile = new String[]{"11","22","33"};
FileWriter writer = Joiner.on("_").appendTo(fileWriter, arraysFile);
// 8
Preconditions.checkNotNull(fileWriter, "appendable");
Guava的Joiner的日常使用
飞鸟up2023-12-27 13:22
相关推荐
Dovis(誓平步青云)4 小时前
拍视频前先把镜头想清楚:做一个分镜取景辅助器AI人工智能+电脑小能手4 小时前
大白话说Java设计模式-45-解释器模式(源码剖析篇)执子星海4 小时前
Registry Win32 API详解defrag2574 小时前
Win9x下用Win32程序调用Win16函数吴声子夜歌4 小时前
Java——开发中通用的方法和准则(二)袁震4 小时前
HarmonyOS 应用包体积优化与上架自检实战:从 76.2MB 到 3.6MBme8325 小时前
【Tool】Windows 计划任务 + VBScript 弹窗提醒:从零到一的完整指南zcmodeltech5 小时前
反应装置模型控制系统设计与实现:多设备协同联动方案码视野5 小时前
基于 Spring Boot + Vue3 的【城市地下燃气管网微泄漏感知与相邻地下空间燃爆预警中台】设计与实现(含PRD/三端高保真源码/大屏)2601_962071575 小时前
数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键