Guava 31 发布,Google 的核心 Java 库原创
3年前
270811
Guava 是 Google 的一套核心 Java 库,包括新的集合类型(如 multimap 和 multiset)、图库,以及用于并发、I/O、散列、缓存、基元、字符串等的实用工具。它被广泛用于 Google 内部的 Java 项目,同时也被许多其他公司广泛使用。
更新日志
- 对 Guava 的空值进行了更彻底的注释
- base:修改了 Functions.forSupplier 和 Predicates.instanceOf,以接受一个额外的类型参数来指定返回 Function/ Predicate 的输入类型。
- collect:增加了 ImmutableMap.ofEntries,与 Map.ofEntries 类似,但适用于 ImmutableMap
- collect:增加了 ImmutableMap.of、 ImmutableBiMap.of 和 ImmutableSortedMap.of 的重载,最多可容纳10个条目。
- collect:将 ImmutableMap.Builder.build() 重命名为 buildOrThrow()。现有的 build() 方法将继续存在,但可能会被废弃。
- collect:从 Interner 和 Interners 中删除了 @Beta。
- collect:为 Streams.stream(Optional) 添加了 @InlineMe。
- hash :从 HashFunction 中删除了 @Beta。
- hash:废弃了有问题的 murmur3_32,并引入 murmur3_32_fixed
- io:改变了 CharStreams.asWriter(appendable).write(string[, …]) 以拒绝一个空 string。
- io: 修正了 FileBackedOutputStream 清理中的一个错误。
- net:改变了 HostAndPort.fromString,以拒绝用非 ASCII 数字拼成的端口号。
- net: 为 X-Device-Ip、 X-Device-Referer、 X-Device-Accept-Language、 X-Device-Requested-With、Sec-CH-Prefers-Color-Scheme、 Sec-CH-UA-Bitness 和 Keep-Alive 增加了 HttpHeaders 常量。
- primitives:修正了 UnsignedLong.doubleValue() 中的一个舍入错误。
- reflect:改变了 Invokable 的类型层次结构, Invokable 不再继承 AccessibleObject 或 GenericDeclaration 。
- testlib:增强了 NullPointerTester,允许 <T extends @Nullable Object> 类型的参数 null。
- testlib:修正了影响自定义集合测试套件的派生测试的错误。 setUp 和 tearDown 方法现在被复制到派生测试套件。
- util.concurrent: 增加了 ServiceManager.startupDurations()。
- util.concurrent:删除了 Futures.catching 和 catchingAsync 的 GWT-only 重载,这些重载允许调用者省略 Executor。
更多详情可查看:https://github.com/google/guava/releases/tag/v31.0
来源:开源中国
https://www.oschina.net/news/162046/guava-31-released
点赞收藏