欢迎加入运维网交流群:263444886
Guava 19.0 RC2 发布,此版本值得关注的 API 改进如下: common.base
Added CharMatcher static factory methods equivalent to the CharMatcher constants. For example, added CharMatcher.whitespace() which is equivalent to CharMatcher.WHITESPACE. Eventually, the constants will be deprecated and removed.
This is being done because using constants requires a large number of>CharMatcher is used; switching to static factory methods allows>CharMatcher actually being used.
Added Throwables.lazyStackTrace(Throwable) - Returns a Listthat may load the stack trace elements lazily. Useful if you want to get only the first N elements of the stack trace efficiently.
Added lazyStackTraceIsLazy()- Returns whether or not the above method is able to use the special implementation that makes it lazy on the current platform.
Added VerifyException constructor overloads taking a Throwable cause.
common.cache
This package has graduated from @Beta, making it safe to use in library code.
Added visibility of CacheLoader.UnsupportedLoadingOperationException
Added RemovalNotification.create
These should only be needed if creating a custom cache implementation
common.collect
Added factory and builder methods for various ImmutableMaps and ImmutableMultimaps that take Iterable.
Added FluentIterable.toMultiset()
Added RangeSet.asDescendingSetOfRanges() and RangeMap.asDescendingMapOfRanges()
Added Lists.cartesianProduct(List...) and Lists.cartesianProduct(List>)
Added Maps.newLinkedHashMapWithExpectedSize(int)
Re-added Multisets.removeOccurrences(Multiset, Multiset) which was (binary incompatibly) missing in 18.0 because it was replaced with Multisets.removeOccurences(Multiset, Iterable)
Added BloomFilter.create overloads taking a long for the expectedInsertions
Added Hashing.sha384()
Added Hashing.concatenating(HashFunction, HashFunction, HashFunction...) and Hashing.concatenating(Iterable)
common.io
Added ByteSource.sizeIfKnown()
Added CharSource.length()
Added CharSource.lengthIfKnown()
common.net
Added a couple new constants to HttpHeaders and MediaType
Updated public suffix list for InternetDomainName
common.reflect
Added TypeToken.isSubtypeOf(TypeToken), TypeToken.isSupertypeOf(TypeToken) and overloads of both that take a Type
Deprecated TypeToken.isAssignableFrom(TypeToken) and TypeToken.isAssignableFrom(Type) - isSupertypeOf provides equivalent behavior with a less confusing name
common.util.concurrent
Futures.getChecked, the replacement for Futures.get (see below), has become stricter. It now rejects calls that pass an unsuitable exception type, even if the input Future succeeded. Previously, it would reject only calls in which the input Future had failed.
Added AbstractFuture.newCancellationCause()
Added AbstractFuture.setFuture(ListenableFuture)
Added Futures.getChecked
Added Futures.catching and Futures.catchingAsync
Added Futures.transformAsync
Added Futures.withTimeout
Deprecated FutureFallback and Futures.withFallback methods - these are replaced with Futures.catching
Deprecated Futures.get methods taking a Class - these are replaced with Futures.getChecked
Deprecated Futures.transform methods taking an AsyncFunction - these are replaced with Futures.transformAsync