Guava的前身是Google Collections,是Google开发出的一个开源Java常用类库,包含了一些集合的便捷操作API。本文通过一些常用的例子来剖析Guava的奇妙之处。
Guava是如何简化Java的for循环的呢,直接上一段例子来说明:
如果想要将一个字符数组中字符的元素剔除并且用逗号隔开,原始做法:
Guava类库极度简化次操作,以一种函数式编程思想链式的调用方法简化了实现
Guava还有比着这强大的功能,闲话少说,下面介绍三种项目常用简化for循环的用法:
1.将一个集合元素的某一个或多个字段组成一个新的集合:
用法:可以将集合里的每个对象拿出来对其进行操作,并将操作结果作为新集合的元素,返回产生的新集合。
2.筛选出集合中满足某些属性的对象
用法:在集合中找出满足某个条件的所有元素,返回一个满足条件的新集合
3.在集合中找到一个满足条件的对象
用法:在集合中找到第一个满足条件的元素,并且返回一个被Optional封装的对象,Optional对象可以避免开发人员没有判断是否为null而产生的空指针异常,是Guava提供用来包装任何对象的对象。
4.在2和3的实例中,tryFind和filter方法都需要传一个Predicate的对象,这个对象是用来判断哪些符合条件的一个借口,需要自己实现,与此同时,Guava也提供了能够让多个条件并列或者同时满足的条件组合方法
用法:提供了 and(or)方法来组合一个判断条件,丰富了tryFind和filter的判断条件逻辑。
总而言之,Guava给for循环带来了飞跃性的改进,让糟糕的for与if,else的冗余组合变得简单易懂,让代码变得更优美,可读性更高,确实值得所有java开发者的学习和亲睐。