zoukankan      html  css  js  c++  java
  • java项目中使用guava的工具包的心得

    原文:http://www.   zuidaima.com/blog/3182745969511424.htm

       以前只是听过这个工具包,但是真正用的话还是在D75需求中。我要实现把前台传入的list集合用分号分割拼接一个字符串存入数据库,

    开始的时候我用代码逻辑如下:

    StringBuffer interfaceList=new StringBuffer();
    
    //判断前台绑定中的集合是否为空
    
    if(interfaces!=null)
    
    {
    
         for(String str:interfaces){
    
              interfaceList.append(str).append(";");
    
        }
    
    //去掉最后一个分号
    
        tpc.setInterfaces(interfacesStr.subStrting(0,interfaceList.length()-1);
    
    }

    感觉这里使用了stringbuffer就没问题了吧,然后hery对我说代码还可以压缩,我就看了下apache的StringUtils这个类和google的guava包下

    的Joiner这个类。我才发现这样的工具包真的好强大,封装了好多功能,学习是永无止境的。上面的代码只需要写一句就替代了:

    String interfacesStr=StringUtils.join(interfaces.iterator(), ';');
    或者String interfacesStr= Joiner.on(";").join(interfaces.iterator());

    有时候我们这样写:

    Person person1=new Person("jack",20);
    
    Person person2=new Person("jack",20);
    
    Person person2=new Person("jack",20);
    
    //会去这样存入list集合:
    
    List<Person> personList=new ArrayList<Person>();
    
    personList.add(person1);
    
    personList.add(person2);
    
    personList.add(person3);

    在guava中可以这样:List<Person> list = Lists.newArrayList(person1, person2, person3);当然也可以这样Arrays.asList(person1, person2, person3);

    在比较对象大小的时候都知道有两种方式:

    1.实体类实现Conparable接口;2.在Collections.sort()实现Comparator接口

    在guava中的对象比较,实现的Comparator可以这样写:

    new Comparator<Person>() {
    
                @Override
    
                public int compare(Person o1, Person o2) {
    
                    return ComparisonChain.start().compare(o1.getName(), o2.getName()).compare(o1.getAge(), o2.getAge())
    
                            .result();
    
                }
    
    }

    还有很多功能还要自己去摸索学习,此处省略.............

  • 相关阅读:
    [华为oj]放苹果
    [华为oj]iNOC产品部-杨辉三角的变形
    值传递和引用传递
    Struts2+Jquery+Json集成
    使用堆栈结构进行字符串表达式("7*2-5*3-3+6/3")的计算
    使用环形链表解决约瑟夫(丢手帕)问题
    tomcat配置数据源
    ORA-01652:无法通过128(在表空间TEMP中)扩展temp段
    (转)Java 代码优化过程的实例介绍
    (转)走进JVM,浅水也能捉鱼
  • 原文地址:https://www.cnblogs.com/shihaiming/p/6286571.html
Copyright © 2011-2022 走看看