简介
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依赖
12 com.google.guava 3guava 419.0 5
字符串检查工具
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的布尔值,如果为假抛出第二个参数的异常信息IllegalArgumentException2 Preconditions.checkArgument(i>0,"Argument was %s but expected nonnegative");
判断对象是否为null
1 //判断参数1的布尔值,如果为null 抛出第二个参数的异常信息NullPointerException2 Preconditions.checkNotNull(null,"该对象为Null");
操作集合
之前
1 Map>> map = new HashMap >>();
用Guava
1 Map>> map = Maps.newHashMap();
之前
1 Listlist = new ArrayList ();2 list.add("a");3 list.add("b");4 list.add("c");5 list.add("d");
现在
1 Listlist =Lists.newArrayList("a","b","c","d");
参考:
Guava 官方教程(中文版)http://ifeve.com/google-guava/