Guava
崔耀强
微服务架构设计
展开
-
Google-Guava学习:用Optional<T>表示可能为null的T类型引用
Guava用Optional表示可能为null的T类型引用。 一个Optional实例可能包含非null的引用(我们称之为引用存在),也可能什么也不包括(称之为引用缺失)。 它从不说包含的是null值,而是用存在或缺失来表示。但Optional从不会包含null值引用。 使用Optional的意义在哪儿? 使用Optional除了赋予null语义,增加了可读性,最原创 2017-01-06 10:18:17 · 525 阅读 · 0 评论 -
Google-Guava学习:排序器Ordering
排序器[Ordering]是Guava流畅风格比较器[Comparator]的实现,它可以用来为构建复杂的比较器,以完成集合排序的功能。从实现上说,Ordering实例就是一个特殊的Comparator实例。Ordering把很多基于Comparator的静态方法(如Collections.max)包装为自己的实例方法(非静态方法),并且提供了链式调用方法,来定制和增强现有的比较器。创建排序器:常原创 2017-01-06 15:37:40 · 1669 阅读 · 0 评论 -
Google-Guava学习:不可变集合
不可变对象有很多优点,包括:当对象被不可信的库调用时,不可变形式是安全的;不可变对象被多个线程调用时,不存在竞态条件问题不可变集合不需要考虑变化,因此可以节省时间和空间。所有不可变的集合都比它们的可变形式有更好的内存利用率(分析和测试细节);不可变对象因为有固定不变,可以作为常量来安全使用。JDK也提供了Collections.unmodifiableXXX方法把集合包装为不可变形式,但我原创 2017-01-12 09:48:43 · 13242 阅读 · 0 评论 -
Google-Guava学习:新集合类型
Multiset 可以用两种方式看待Multiset: 没有元素顺序限制的ArrayList Map<E, Integer>,键为元素,值为计数package com.cyq.newcollect;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import com原创 2017-01-12 11:02:56 · 1685 阅读 · 0 评论