] Guava学习笔记之Joiner ,Strings,Splitter 工具实例

本文详细介绍了Guava库中字符串工具类的使用方法,包括字符串填充、校验、重复等功能,以及Joiner和Splitter工具类的应用场景。通过具体示例展示了如何高效地处理字符串操作。
[java]  view plain  copy
  1. Guava  
  2. 一.Strings  
  3. 1.Strings.padEnd方法  
  4. //padEnd普全右  
  5.         String a="12345";  
  6.         String b=Strings.padEnd(a, 10'x');  
  7.         System.out.println(b);  
  8.   
  9. 结果为:12345xxxxx  
  10. 2.Strings.padStart方法  
  11. //padStart 普全左  
  12.         String a="12345";  
  13.         String b=Strings.padStart(a, 10'x');  
  14.         System.out.println(b);  
  15.         结果为:xxxxx12345  
  16.   
  17.   
  18.   
  19. 3.Strings.isNullOrEmpty 方法  
  20. //Strings.isNullOrEmpty 校验空值  
  21.         String a="";  
  22.         boolean b=Strings.isNullOrEmpty(a);  
  23.         System.out.println(b);  
  24. 结果为:true  
  25.   
  26. 4.Strings.nullToEmpty  方法  
  27.     //Strings.nullToEmpty  如果为null 转为""  
  28.         String a=null;  
  29.         String b=Strings.nullToEmpty(a);  
  30.         System.out.println(b);  
  31.         结果为:  
  32.   
  33.   
  34. 5.Strings.emptyToNull  方法  
  35.     //Strings.emptyToNull  如果为"" 转为null  
  36.         String a="";  
  37.         String b=Strings.emptyToNull(a);  
  38.         System.out.println(b);  
  39.         结果为:null  
  40.   
  41.   
  42.   
  43.   
  44.   
  45. 6.Strings.repeat  方法  
  46.     //Strings.repeat  重复字符串  
  47.         String a="123";  
  48.         String b=Strings.repeat(a, 3);  
  49.         System.out.println(b);  
  50. 结果为:123123123  
  51.   
  52. 7.Strings.commonPrefix 方法  
  53.     //Strings.commonPrefix 获取a,b左公共部分字符串  
  54.         String a="abcdsfsfs";  
  55.         String b="abc3sfsd";  
  56.         String c=Strings.commonPrefix(a, b);  
  57.         System.out.println(c);  
  58.         结果为:abc  
  59.   
  60.           
  61. 8.Strings.commonSuffix 方法  
  62.     //Strings.commonSuffix 获取a,b右公共部分字符串  
  63.         String a="faaxyz";  
  64.         String b="fwefxyz";  
  65.         String c=Strings.commonSuffix(a, b);  
  66.         System.out.println(c);  
  67.         System.out.println(c);  
  68.         结果为:xyz  
  69.   
  70.   
  71.   
  72.   
  73.   
  74.   
  75.   
  76.   
  77.   
  78.   
  79.   
  80.   
  81.   
  82.   
  83.   
  84.   
  85.   
  86.   
  87.   
  88.   
  89.   
  90. 二,Joiner 连接工具类  
  91.   
  92. 分析源码可知:该类构造方法被private修身,无法直接通过new实现  
  93. 通过调用on传如分隔符来得到实例。  
  94. 1.连接List列表  
  95. Joiner joiner =  Joiner.on(",");  
  96.         List<String> list =new ArrayList<String>();  
  97.         list.add("xiaoming");  
  98.         list.add("xiaohong");  
  99.         list.add("wangsan");  
  100.         System.out.println(joiner.join(list));  
  101. 结果:xiaoming,xiaohong,wangsan  
  102.   
  103. 2.连接Iterator<T>列表  
  104. Joiner joiner =  Joiner.on(",");  
  105.         List<String> list =new ArrayList<String>();  
  106.         list.add("xiaoming");  
  107.         list.add("xiaohong");  
  108.         list.add("wangsan");  
  109.         Iterator<String> it=list.iterator();  
  110.         System.out.println(joiner.join(it));  
  111. 结果:xiaoming,xiaohong,wangsan  
  112.   
  113. 3.连接多个字符串   
  114. Joiner joiner =  Joiner.on(",");    
  115. System.out.println(joiner.join("123","345","56","43"));  
  116. 结果:123,345,56,43  
  117.   
  118. 4.连接字符串与列表  
  119.   
  120.     Joiner joiner =  Joiner.on(",");  
  121.         List<String> list =new ArrayList<String>();  
  122.         list.add("xiaoming");  
  123.         list.add("xiaohong");  
  124.         list.add("wangsan");   
  125.         StringBuilder builder=new StringBuilder("标题");  
  126.         System.out.println(joiner.appendTo(builder,list));  
  127. 结果:标题xiaoming,xiaohong,wangsan  
  128.   
  129. 5.跳过null值连接  
  130.         Joiner joiner =  Joiner.on(",").skipNulls();  
  131.         List<String> list =new ArrayList<String>();  
  132.         list.add("xiaoming");  
  133.         list.add(null);  
  134.         list.add("wangsan");   
  135.         StringBuilder builder=new StringBuilder("标题");  
  136.         System.out.println(joiner.appendTo(builder,list));  
  137. 6.替换null值进行连接  
  138.     Joiner joiner =  Joiner.on(",").useForNull("123");//替换null为123  
  139.         List<String> list =new ArrayList<String>();  
  140.         list.add("xiaoming");  
  141.         list.add(null);  
  142.         list.add("wangsan");   
  143.         StringBuilder builder=new StringBuilder("标题");  
  144.         System.out.println(joiner.appendTo(builder,list));  
  145. 结果:标题xiaoming,123,wangsan  
  146.   
  147.   
  148. 三.Splitter 工具类   
  149. 主要功能是拆分字符串为集合 Map等。  
  150.   
  151. 通过分析源码可知,该工具类同意通过 on函数传入拆分字符得到实例。  
  152.   
  153. 1.拆分字符串为List集合   
  154.     Splitter splitter =Splitter.on(",");  
  155.         String str="a,b,c,d,e,f,g";  
  156.         List<String> list=splitter.splitToList(str);  
  157.         System.out.println(list);  
  158. 结果:[a, b, c, d, e, f, g]  
  159. 2.忽略空字符  
  160.   
  161.         Splitter splitter =Splitter.on(",").omitEmptyStrings();  
  162.         String str="a,b,c,d,,f,g";  
  163.         List<String> list=splitter.splitToList(str);  
  164.         System.out.println(list);  
  165. 结果:[a, b, c, d, f, g]  
  166.   
  167. 3.忽略空字符且去除字符串前后空格  
  168. Splitter splitter =Splitter.on(",").omitEmptyStrings().trimResults();  
  169.         String str="a,b,c,d,,f,  g  ";  
  170.         List<String> list=splitter.splitToList(str);  
  171.         System.out.println(list);  
  172.   
  173. 结果:[a, b, c, d, f, g]  
  174.   
  175.   
  176.   
  177.   
  178.   
  179. HtmlEscapers工具类  
  180. 将html转义如下源码所示  
  181.   
  182.         Escaper htmlEscaper =HtmlEscapers.htmlEscaper();  
  183.         System.out.println(htmlEscaper.escape("<a>你好</a>"));  
  184.           
  185. 结果:<a>你好</a>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值