Joiner ,Strings,Splitter 用法

  1.   转载收藏   https://blog.csdn.net/qq_26562641/article/details/53665059

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

猜你喜欢

转载自blog.csdn.net/qq_40846086/article/details/80944248