Guava的Joiner的日常使用

复制代码
具体使用参考官方文档: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");
相关推荐
华仔啊3 分钟前
MyBatis-Plus 让你开发效率翻倍!新手也能5分钟上手!
java·后端·mybatis
武子康15 分钟前
Java-167 Neo4j CQL 实战:CREATE/MATCH 与关系建模速通 案例实测
java·开发语言·数据库·python·sql·nosql·neo4j
乌暮31 分钟前
JavaEE入门--计算机是怎么工作的
java·后端·java-ee
Z3r4y36 分钟前
【代码审计】RuoYi-4.2 五处安全问题分析
java·web安全·代码审计·若依4.2·ruoyi-4.2
代码栈上的思考38 分钟前
Spring MVC 中 @RequestMapping 路径映射与请求处理全流程
java·spring·mvc
加上音乐1 小时前
windows—wsl2—docker配置代理以push/pull
windows·docker·容器
WZTTMoon1 小时前
Spring MVC 核心工作原理:DispatcherServlet 全流程深度解析
java·spring·mvc
金銀銅鐵1 小时前
[Java] 用 Swing 生成一个最大公约数计算器(展示计算过程)
java·后端·数学
计算机学姐1 小时前
基于SpringBoot的新闻管理系统【协同过滤推荐算法+可视化统计】
java·vue.js·spring boot·后端·spring·mybatis·推荐算法
2201_757830871 小时前
泛型的细节
java·开发语言·数据结构