guava20.0发布

上个月,guava正式发布了20.0版本,在升级guava版本时需要关注一下更新的内容。
更新概况
common.graph
新添加了一个common.graph包,主要用来处理基于图的数据结构数据,详见:https://github.com/google/guava/wiki/GraphsExplained

common.base
1.CharMatcher相比19.0弃用了一些方法,并且在2年内会将弃用的方法移除.
2.Preconditions中checkNonNull和checkState有变化
3.Throwables新添加了方法和弃用了一些方法

common.collect

1.ConcurrentHashMultiset: create(MapMaker) 弃用,添加create(ConcurrentMap) 方法.
2.FluentIterable: 添加了一些新的静态方法,例如:concat(Iterable) 和 of().
3.Iterators: 移除了弃用的方法emptyIterator()
4.MapConstraints: 很多方法被删除,后续会去除这个类.
5.Maps: 添加subMap(NavigableMap, Range).
6.Ordering: 弃用binarySearch.
7.RangeSet: 添加intersects(Range).
8.Sets: 添加subSet(NavigableSet, Range).
9.TreeTraverser: 添加using(Function).

common.hash
Hashing: 添加了一些新的hash函数: FarmHash 、Fingerprint64 、HMAC 算法.

common.io
1.移除InputSupplier 和OutputSupplier.
2.BaseEncoding: 新增canDecode(CharSequence).
3.ByteStreams: 新增exhaust(InputStream).
4.CharSource: 新增asByteSource(Charset).
5.CharStreams: 新增exhaust(Readable).

common.math
1.主要添加了一些统计相关的类:
Quantiles
Stats and StatsAccumulator, PairedStats and PairedStatsAccumulator
LinearTransformation
2. IntMath, LongMath 和 DoubleMath 添加了一些方法,例如:
ceilingPowerOfTwo
isPrime

common.net
1.HostAndPort: 弃用getHostText(),添加新的方法getHost()代替该方法.
2.HttpHeaders and MediaType: 添加了一些新的header/media type常量.

common.reflect
1.ClassPath.ResourceInfo: 添加asByteSource() 和 asCharSource(Charset).
2.TypeToken: 删除isAssignableFrom,在19.0中添加了替代方法isSubtypeOf.

common.util.concurrent
1.FutureFallback: 删除.
2.Futures.withFallback 删除
3.AsyncCallable: 新增.
4.新增Callables.asAsyncCallable(Callable, ListeningExecutorService).
5.Futures.FutureCombiner: 新增.
6.Futures.whenAllComplete 和 whenAllSucceed, 添加返回类型FutureCombiner.
7.AbstractFuture: 新增回调afterDone() .
8.AtomicLongMap: 新增removeIfZero(K).
9.Futures:
删除get,使用getChecked替换.
删除transform方法; 使用transformAsync替换.
getDone(Future) 新增.

阅读官方文档

更多内容关注微信公众号:qunzi-eros
guava20.0发布_第1张图片

你可能感兴趣的:(guava)