Guava字符串的处理

时间:2022-07-23
本文章向大家介绍Guava字符串的处理,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

对集合的处理

List<String> list =new ArrayList<String>();
list.add("xx");
list.add("zz");
list.add("dd");

System.out.println(Joiner.on(",").join(list));	//xx,zz,dd

可以操作迭代器

Iterator<String> it=list.iterator();
System.out.println(Joiner.on("|").join(it));	//xx|zz|dd

还可以用来连接多个字符串

System.out.println(Joiner.on(",").join("小小","爸爸","妈妈","爷爷","奶奶"));	//小小,爸爸,妈妈,爷爷,奶奶

还可以用来连接字符串与集合

StringBuilder builder=new StringBuilder("小小最乖");
StringBuilder str2=Joiner.on(",").appendTo(builder,list);
System.out.println(str2);	//小小最乖xx,zz,dd

跳过null值连接

list.add(null);
list.add("小小");
String str3=Joiner.on(",").skipNulls().join(list);
System.out.println(str3);	//xx,zz,dd,小小

替换null值连接

String str4=Joiner.on(",").useForNull("空").join(list);
System.out.println(str4);	//xx,zz,dd,空,小小

一步将字符串转为List<Long>集合(前面先转为list<String>,后面用java8特性将List<String>转为List<Long>)

List<Long> list2 = Splitter.on("#").splitToList("111#222#333").stream().
                mapToLong(str->Long.parseLong(str)).boxed().distinct().collect(Collectors.toList());
System.out.println(list2);	//[111, 222, 333]

对键值对的处理

Map的键值对打印出来,这个用来拼接url很好用

Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
Joiner.MapJoiner mapJoiner = Joiner.on("&").withKeyValueSeparator("=");
System.out.println(mapJoiner.join(map));	//key1=value1&key2=value2&key3=value3

拆分字符串成键值对

String str="id=123&name=green";
Map<String, String> split = Splitter.on("&")
        .withKeyValueSeparator("=")
        .split(str);
System.out.println(split);	//id=123, name=green