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/

posted @ 2017-11-07 09:31  小小渔夫  阅读(1124)  评论(0编辑  收藏  举报
友情链接: 燕归来兮 李狗蛋Blog 萌力觉醒