Google Guava简介

来源:互联网 发布:江苏远洋数据 编辑:程序博客网 时间:2024/06/05 19:05

瓜娃(Guava)是一款基于开源JAVA内容的库,也是Google很多项目在使用的扩展库。主要为了方便编码,并有效减少编码错误。有着多种供用于集合、缓存、并发、常见注解、字符串处理、I/O与验证的方法。下面介绍几种简单的功能。


Optional类

com.google.common.base.Optional 用于处理包含非空对象的不可变对象,也就是在一些无法赋值,但对象还是为null的时候进行处理,也可以说是用来表示null,包含了多种方法来处理引用与不可用,而不止于仅仅检查null值。

方法 功能 static <T> Optional<T> of(T reference) 返回一个包含非空引用的Optional实例 abstract boolean isPresent() 如果这个对象是空的,返回null abstract T or(T defaultValue) 返回所包含的实例(如果存在);否则为默认值 abstract T orNull() 返回所包含的实例(如果存在);否则返回null

Objects类

提供适用于所有对象的方法,类似于equals、hashcode、toString等辅助函数的升级版。但是大部分方法已经被MoreObjects取代。

方法 功能 static int hashCode(Onject... Objects) 生成多个值的哈希码

MoreObjects类

通过对于Objects的拓展,淘汰了它的部分方法。

方法 功能 static MoreObjects.ToStringHelper toStringHelper(Object self) 返回一个内部类ToStringHelper的实例,通过调用这个实例的方法(add())去特殊化toString

exmple:

MoreObjects.toStringHelper(this)    .add("name",name.subString(0,10))    .add("sex",sex)    .add("age",Integer.valueOf(age))    .toString();

CharMatcher类

提供了各种方法来处理char类型数据的值

常用的几个常量:

static CharMatcher ANY                  //匹配任意字符static CharMatcher ASCII                //是否为ASCII码static CharMatcher BREAK_WHITESPACE     //消除空白
方法 功能 String removeFrom(CharSequence sequence) 返回字符串包含的字符序列的所有非匹配字符 boolean matchesAnyOf(CharSequence sequence) 如果字符串包含至少一个匹配字符,返回true



实际情况下,通过CharMatcher自带的实例对象去调用CharMatcher的方法,与参数中的字符串进行一系列操作。

boolean result = CharMatcher.BREAK_WHITESPACE.matchesAnyOf("bai hh");//trueString name = CharMatcher.BREAK_WHITESPACE.matchesAnyOf("bai h y");//baihy
原创粉丝点击