guava是google的一个强大的工具包,目前已经更新到版本22 https://github.com/google/guava,一直有断断续续的用过一些方法,但是没有系统的撸一遍所有功能
今天参考并发编程网记录一些高效的工具方法 http://ifeve.com/google-guava/
1 Optional表示可能为null的引用,用存在或者缺失来表示null或者非null,get(),or(),orNull()是三种不同处理null的返回方法
2 Preconditions可以用来做一些前置检查,非常时候参数非空校验
3 Object的toStringHelper 在重定义tostring的时候非常有效
4 使用Ordering来快速排序,可以构建一个ordering对象并调用max()或者min()
5 使用不可变集合ImmutableXXX,创建的方法 有of(),copyOf()或者builder()
6 Guava的新集合有Multiset,Multimap,BiMap,Table,ClassToInstanceMap,RangeSet,RangeMap ,每一个都是神器啊
7 Guava提供了集合类的加强类,比如Collections2,XXs等
8 LoadingCache可以用来做缓存,使用CacheBuilder来构造
9 并发编程上,ListenableFuture可以高效的替换Future
10 Service接口可以用来封装一个服务对象的状态
11 字符串处理上增加了几个处理类,Joiner,Splitter,CharMatcher,Charsets,CaseFormat
12 Guava对原生类型提供了包装的工具类,一般是JAVA原生包装类后面加一个s
13 Guava提供了Range表示区间
14 Guava的字符流和字节流的处理类在ByteStreams 和CharStreams中。可读类为 ByteSource CharSource 可写类为 ByteSink CharSink
15 com.google.common.hash包提供了散列的操作类HashFunction,Hasher,Funnel,HashCode,BloomFilter
16Guava提供的运算工具类分别叫做IntMath、LongMath和BigIntegerMath,DoubleMath
17 反射技术上,Guava提供了TypeToken,Invokable,Reflection,ClassPath几个类
来源:oschina
链接:https://my.oschina.net/u/195637/blog/967906