zoukankan      html  css  js  c++  java
  • Guava常用方法

    简介

      Guava,中文是石榴的意思,Guava项目,是基于java的Google的开源的工具类库,包含了许多被Google的java项目广泛依赖的核心库,

    例如:集合、缓存、原生类型支持、并发库、通用注解、字符串处理、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。

    为什么项目开发中我们要选择Guava,借用网友的回答:
    •瓜娃是java API蛋糕上的冰激凌(精华)
    •高效设计良好的API
    •被google的开发者设计,实现和使用
    •遵循高效的java这本书的好的语法实践
    •使代码更刻度,简洁,简单
    •使用java 1.5的特性
    •流行的API,动态的开发
    •它提供了大量相关的应用类,集合,多线程,比较,字符串,输入输出,缓存,网络,原生类型,数学,反射等等
    •百分百的单元测试,被很多的项目使用,帮助开发者专注业务逻辑而不是写java应用类
    •节省时间,资源,提高生产力
    •我的目的是为基本的java特征提供开源代码的支持,而不是自己再写一个
    •ApacheCommon库Apache是一个很好的成熟的库,但是不支持泛型,Apache对早起的java版本很有用-1.5之前的
    •java7,java8 最新的java支持一些guava的API

      在项目开发中适当的场景灵活运用Guava,可使我们省去复杂的数据处理,代码简介易用,不易出错,

    代码可读性健壮性增强,让我们有更多时间专注业务的处理,总之就是使我们的代码更加的优雅。

    Maven依赖

    1 <dependency>
    2     <groupId>com.google.guava</groupId>
    3     <artifactId>guava</artifactId>
    4     <version>19.0</version>
    5 </dependency>

    字符串检查工具

     1 /** 
     2  * Guava Strings工具类的使用,null和empty的判断与转化 
     3  * @author chenleixing 
     4  */  
     5 public void testStrings(){  
     6     Strings.isNullOrEmpty("");//返回true  
     7     Strings.nullToEmpty(null);//""  
     8     Strings.nullToEmpty("chen");//返回"chen"  
     9     Strings.emptyToNull("");//返回null  
    10     Strings.emptyToNull("chen");//返回"chen"  
    11       
    12     Strings.commonPrefix("aaab", "aac");//"aa"否则返回""  
    13     Strings.commonSuffix("aaac", "aac");//"aac"否则返回""  
    14 }

    NULL值检查

    先决条件检查

    1 //判断参数1的布尔值,如果为假抛出第二个参数的异常信息IllegalArgumentException
    2 Preconditions.checkArgument(i>0,"Argument was %s but expected nonnegative");

    判断对象是否为null

    1 //判断参数1的布尔值,如果为null 抛出第二个参数的异常信息NullPointerException
    2 Preconditions.checkNotNull(null,"该对象为Null");

    操作集合

    之前

    1     Map<String, Map<Long, List<String>>> map = new HashMap<String, Map<Long,List<String>>>();  

    用Guava

    1 Map<String, Map<Long, List<String>>> map = Maps.newHashMap();

     之前

    1 List<String> list = new ArrayList<String>();
    2 list.add("a");
    3 list.add("b");
    4 list.add("c");
    5 list.add("d");

    现在

    1 List<String> list =Lists.newArrayList("a","b","c","d");

     参考:

    Guava 官方教程(中文版)http://ifeve.com/google-guava/

  • 相关阅读:
    2017.7.14 使用case when和group by将多条数据合并成一行,并且根据某些列的合并值做条件判断来生成最终值
    2017.7.12 IDEA热部署(更新jsp或java代码不用重启tomcat即可即时生效)
    2017.7.10 Package name does not correspond to the file path
    2017.7.10 Redis报错:DENIED Redis is running in protected mode
    2017.7.10 (windows)redis的安装
    2017.7.7 postgreSQL在插入造成重复时执行更新
    2017.7.1 nginx反向代理服务器域名解析配置(已验证可使用)
    2017.7.1 ftp文件服务器安装与配置(已验证可使用)
    2017.7.1 mysql安装与启动(已验证可以使用)
    日期格式,拼接、跳转,字符集转码(中文乱码)
  • 原文地址:https://www.cnblogs.com/PreachChen/p/8655600.html
Copyright © 2011-2022 走看看