ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

字符串处理工具Guava使用总结

2019-06-12 23:04:31  阅读:140  来源: 互联网

标签:总结 String list System println 字符串 Guava out


字符串处理工具Guava使用总结

 

          在java开发过程中对字符串的处理是非常频繁的,google的guava工具对字符串的一些处理进行优化,使我们开发过程中让自己的代码看去更加美观,清爽。

 

1:maven依赖:

      <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>18.0</version>
        </dependency>

一、Joiner

根据给定的分隔符把字符串连接到一起

 

public class JoinerTest {

    public static void main(String args[]){

     //1、将list字符串集合,以,形式转为字符串
        List<String> list =new ArrayList<String>();
        list.add("xx");
        list.add("zz");
        list.add("dd");

        //Joiner.on(",")获得Joiner实例对象
        Joiner joiner =  Joiner.on(",");
        //joiner.join(list)传入操作的集合,并转成字符串格式
        System.out.println(joiner.join(list));
        //输出结果:xx,zz,dd

     //2、将Iterator<T>列表,转为字符串
        Iterator<String> it=list.iterator();
        String  str=Joiner.on("|").join(it);
        System.out.println(str);
        //输出结果:xx|zz|dd

     //3、连接多个字符串
        String str1=Joiner.on(",").join("小小","爸爸","妈妈","爷爷","奶奶");
        System.out.println(str1);
        //输出:小小,爸爸,妈妈,爷爷,奶奶

     //4、连接字符串与列表
        StringBuilder builder=new StringBuilder("小小最乖");
        //返回StringBuilder类型
        StringBuilder str2=Joiner.on(",").appendTo(builder,list);
        System.out.println(str2);
        //输出:小小最乖xx,zz,dd

     //5、跳过null值连接
        list.add(null);
        list.add("小小");
        //skipNulls()代表去除null
        String str3=Joiner.on(",").skipNulls().join(list);
        System.out.println(str3);
        //输出:xx,zz,dd,小小

     //6、替换null值进行连接
        String str4=Joiner.on(",").useForNull("空").join(list);
        System.out.println(str4);
        //输出:xx,zz,dd,空,小小

     //7、Map的键值对打印出来
        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     

    //8、一步将字符串转为List<Long>集合(前面先转为list<String>,后面用java8特性将List<String>转为List<Long>)
    List<Long> list=Splitter.on("#").splitToList("111#222#333").stream().mapToLong(str->Long.parseLong(str)).boxed().distinct().collect(Collectors.toList());
} }

 

 

二、Splitter

 

主要功能是拆分字符串为集合 Map等。 通过分析源码可知,该工具类是通过on函数传入拆分字符得到实例。

 

public class SplitterTest {

    public static void main(String args[]){

     //1、拆分字符串为List集合
        String str="小小,妈妈,爸爸,爷爷,奶奶";
        Splitter splitter =Splitter.on(",");
        List<String> list=splitter.splitToList(str);
        System.out.println(list);
        //输出:[小小, 妈妈, 爸爸, 爷爷, 奶奶]

     //2、忽略空字符
        String str1="a,b,c,d,,f,g";
        //omitEmptyStrings()代表去除空字符串
        List<String> list1=Splitter.on(",").omitEmptyStrings().splitToList(str1);
        System.out.println(list1);
        //输出:[a, b, c, d, f, g]

     //3、忽略空字符且去除字符串前后空格
        String str2="a,b,c,d,,f,  g  ";
        List<String> list2=Splitter.on(",").omitEmptyStrings().trimResults().splitToList(str2);
        System.out.println(list2);
        //输出:[a, b, c, d, f, g]
    }
}

 

三、Strings

public class StringsTest {

    public static void main(String args[]){

     //1、补右全(Strings.padEnd方法)
        String a="12345";
        String b=Strings.padEnd(a, 10, 'x');
        System.out.println(b);
        //输出:12345xxxxx

     //2、补左全(Strings.padStart)
        String c=Strings.padStart(a, 10, 'x');
        System.out.println(c);
        //输出:xxxxx12345

     //3、校验空值和null
        String d="";
        String f=null;
        boolean e=Strings.isNullOrEmpty(d);
        boolean h=Strings.isNullOrEmpty(f);
        System.out.println(e);
        System.out.println(h);
        //输出:true,true

     //4、如果为null 转为""
        String m=null;
        String n=Strings.nullToEmpty(m);
        System.out.println(n);
        //输出:

     //5、如果为"" 转为null
        String j="";
        String k=Strings.emptyToNull(j);
        System.out.println(k);
        //输出:null

     //6、重复字符串(Strings.repeat)
        String o="123";
        String p=Strings.repeat(o, 3);
        System.out.println(p);
        //输出:123123123

     //7、获取a,b左公共部分字符串(左边第一个公共部分)
        String r="abcdsfsfs";
        String s="accdc3sfsd";
        String t=Strings.commonPrefix(r, s);
        System.out.println(t);
        //输出:a

    //8、获取a,b右公共部分字符串
        String w="faaxyz";
        String x="fwefxyz";
        String z=Strings.commonSuffix(w, x);
        System.out.println(z);
        //输出:xyz
    }
}

 

标签:总结,String,list,System,println,字符串,Guava,out
来源: https://www.cnblogs.com/dw3306/p/11013318.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有