2019年12月10日

[Google Guava] 4-函数式编程

摘要: 原文链接 译文链接 译者:沈义扬,校对:丁一 注意事项 截至JDK7,Java中也只能通过笨拙冗长的匿名类来达到近似函数式编程的效果。预计JDK8中会有所改变,但Guava现在就想给JDK5以上用户提供这类支持。 过度使用Guava函数式编程会导致冗长、混乱、可读性差而且低效的代码。这是迄今为止最容 阅读全文

posted @ 2019-12-10 15:36 木西-Muxy 阅读(253) 评论(0) 推荐(0)

[Google Guava] 3-缓存

摘要: 原文地址 译文地址 译者:许巧辉 校对:沈义扬 范例 01 LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder() 02 .maximumSize(1000) 03 .expireAfterWrite(10, TimeUnit.MINU 阅读全文

posted @ 2019-12-10 15:22 木西-Muxy 阅读(174) 评论(0) 推荐(0)

[Google Guava] 2.4-集合扩展工具类

摘要: 原文链接 译文链接 译者:沈义扬,校对:丁一 简介 有时候你需要实现自己的集合扩展。也许你想要在元素被添加到列表时增加特定的行为,或者你想实现一个Iterable,其底层实际上是遍历数据库查询的结果集。Guava为你,也为我们自己提供了若干工具方法,以便让类似的工作变得更简单。(毕竟,我们自己也要用 阅读全文

posted @ 2019-12-10 15:09 木西-Muxy 阅读(273) 评论(0) 推荐(0)

[Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

摘要: 原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法。Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法。这是Guava最流行和成熟的部分 阅读全文

posted @ 2019-12-10 14:52 木西-Muxy 阅读(417) 评论(0) 推荐(0)

[Google Guava] 2.2-新集合类型

摘要: 原文链接 译文链接 译者:沈义扬,校对:丁一 Guava引入了很多JDK没有的、但我们发现明显有用的新集合类型。这些新类型是为了和JDK集合框架共存,而没有往JDK集合抽象中硬塞其他概念。作为一般规则,Guava集合非常精准地遵循了JDK接口契约。 Multiset 统计一个词在文档中出现了多少次, 阅读全文

posted @ 2019-12-10 14:41 木西-Muxy 阅读(408) 评论(0) 推荐(0)

[Google Guava] 2.1-不可变集合

摘要: 范例 01 public static final ImmutableSet<String> COLOR_NAMES = ImmutableSet.of( 02 "red", 03 "orange", 04 "yellow", 05 "green", 06 "blue", 07 "purple"); 阅读全文

posted @ 2019-12-10 14:12 木西-Muxy 阅读(272) 评论(0) 推荐(0)

[Google Guava] 1.5-Throwables:简化异常和错误的传播与检查

摘要: 原文链接 译者: 沈义扬 异常传播 有时候,你会想把捕获到的异常再次抛出。这种情况通常发生在Error或RuntimeException被捕获的时候,你没想捕获它们,但是声明捕获Throwable和Exception的时候,也包括了了Error或RuntimeException。Guava提供了若干 阅读全文

posted @ 2019-12-10 13:58 木西-Muxy 阅读(317) 评论(0) 推荐(0)

[Google Guava] 排序: Guava强大的”流畅风格比较器”

摘要: 原文链接 译者: 沈义扬 排序器[Ordering]是Guava流畅风格比较器[Comparator]的实现,它可以用来为构建复杂的比较器,以完成集合排序的功能。 从实现上说,Ordering实例就是一个特殊的Comparator实例。Ordering把很多基于Comparator的静态方法(如Co 阅读全文

posted @ 2019-12-10 11:46 木西-Muxy 阅读(299) 评论(0) 推荐(0)

[Google Guava] 1.3-常见Object方法

摘要: 原文链接 译者: 沈义扬 equals 当一个对象中的字段可以为null时,实现Object.equals方法会很痛苦,因为不得不分别对它们进行null检查。使用Objects.equal帮助你执行null敏感的equals判断,从而避免抛出NullPointerException。例如: 1 Ob 阅读全文

posted @ 2019-12-10 11:36 木西-Muxy 阅读(239) 评论(0) 推荐(0)

[Google Guava] 1.2-前置条件

摘要: 原文链接 译文链接 译者: 沈义扬 前置条件:让方法调用的前置条件判断更简单。 Guava在Preconditions类中提供了若干前置条件判断的实用方法,我们强烈建议在Eclipse中静态导入这些方法。每个方法都有三个变种: 没有额外参数:抛出的异常中没有错误消息; 有一个Object对象作为额外 阅读全文

posted @ 2019-12-10 11:24 木西-Muxy 阅读(231) 评论(0) 推荐(0)

[Google Guava] 1.1-使用和避免null

摘要: 原文链接 译文链接 译者: 沈义扬 Doug Lea 说,“Null 真糟糕。” 当Sir C. A. R. Hoare 使用了null引用后说,”使用它导致了十亿美金的错误。” 轻率地使用null可能会导致很多令人惊愕的问题。通过学习Google底层代码库,我们发现95%的集合类不接受null值作 阅读全文

posted @ 2019-12-10 10:53 木西-Muxy 阅读(303) 评论(0) 推荐(0)

导航