会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
张伯雨
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
上一页
1
···
31
32
33
34
35
36
37
下一页
2017年8月29日
Preconditions优雅的检验参数
摘要: Preconditions优雅的检验参数在日常开发中,我们经常会对方法的输入参数做一些数据格式上的验证,以便保证方法能够按照正常流程执行下去。对于可预知的一些数据上的错误,我们一定要做事前检测和判断,来避免程序流程出错,而不是完全通过错误处理来保证流程正确执行,毕竟错误处理是比较消耗资源的方式。在平常情况下我们对参数的判断都需要自己来逐个写方法判断,代码量不少并且复用性不高,如下所示:import...
阅读全文
posted @ 2017-08-29 16:39 张伯雨
阅读(243)
评论(0)
推荐(0)
编辑
Optional优雅的使用null
摘要: 在我们学习和使用Guava的Optional之前,我们需要来了解一下Java中null。因为,只有我们深入的了解了null的相关知识,我们才能更加深入体会领悟到Guava的Optional设计和使用上的优雅和简单。 null代表不确定的对象: Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。 ...
阅读全文
posted @ 2017-08-29 16:39 张伯雨
阅读(1011)
评论(0)
推荐(0)
编辑
复写的Object常用方法
摘要: 复写的Object常用方法 在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法。每次写这几个方法都要做很多重复性的判断, 很多类库提供了覆写这几个方法的工具类, Guava也提供了类似的方式。下面我们来看看Guava中这几个方法简单使用。 equals方法: equals是一个经常需要覆写的方法, 可以查看O...
阅读全文
posted @ 2017-08-29 16:38 张伯雨
阅读(444)
评论(0)
推荐(0)
编辑
简化异常处理的Throwables类
摘要: 简化异常处理的Throwables类有时候, 当我们我们捕获异常, 并且像把这个异常传递到下一个try/catch块中。Guava提供了一个异常处理工具类, 可以简单地捕获和重新抛出多个异常。例如:import java.io.IOException; import org.junit.Test; import com.google.common.base.Throwables; public ...
阅读全文
posted @ 2017-08-29 16:35 张伯雨
阅读(604)
评论(0)
推荐(0)
编辑
Ordering犀利的比较器
摘要: Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强。它非常容易扩展,可以轻松构造复杂的comparator,然后用在容器的比较、排序等操作中。 本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例。Ordering只是需要依赖于一个比较器(例如,Collections.max)的方法,并...
阅读全文
posted @ 2017-08-29 16:35 张伯雨
阅读(201)
评论(0)
推荐(0)
编辑
Immutable(不可变)集合
摘要: Immutable(不可变)集合不可变集合,顾名思义就是说集合是不可被修改的。集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变。 为什么要用immutable对象?immutable对象有以下的优点: 1.对不可靠的客户代码库来说,它使用安全,可以在未受信任的类库中安全的使用这些对象 2.线程安全的:immutable对象在多线程下安全,没有竞态条件 3.不需要支...
阅读全文
posted @ 2017-08-29 16:34 张伯雨
阅读(1140)
评论(0)
推荐(0)
编辑
Guava新增集合类型-Bimap
摘要: Guava新增集合类型-BimapBiMap提供了一种新的集合类型,它提供了key和value的双向关联的数据结构。 通常情况下,我们在使用Java的Map时,往往是通过key来查找value的,但是如果出现下面一种场景的情况,我们就需要额外编写一些代码了。首先来看下面一种表示标识序号和文件名的map结构。 @Test public void logMapTest(){ ...
阅读全文
posted @ 2017-08-29 16:33 张伯雨
阅读(229)
评论(0)
推荐(0)
编辑
Guava新增集合类型-Multimap
摘要: Guava新增集合类型-Multimap在日常的开发工作中,我们有的时候需要构造像Map>或者Map>这样比较复杂的集合类型的数据结构,以便做相应的业务逻辑处理。例如:import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit....
阅读全文
posted @ 2017-08-29 16:33 张伯雨
阅读(283)
评论(0)
推荐(0)
编辑
Guava新增集合类型-Multiset
摘要: Guava新增集合类型-Multiset Guava引进了JDK里没有的,但是非常有用的一些新的集合类型。所有这些新集合类型都能和JDK里的集合平滑集成。Guava集合非常精准地实现了JDK定义的接口。Guava中定义的新集合有: Multiset SortedMultiset Multimap ListMultimap SetMultimap BiMap ClassToInstan...
阅读全文
posted @ 2017-08-29 16:33 张伯雨
阅读(222)
评论(0)
推荐(0)
编辑
集合-Table
摘要: 当我们需要多个索引的数据结构的时候,通常情况下,我们只能用这种丑陋的Map>来实现。为此Guava提供了一个新的集合类型-Table集合类型,来支持这种数据结构的使用场景。Table支持“row”和“column”,而且提供多种视图。 @Test public void TableTest(){ Table aTable = HashBasedTable.create();...
阅读全文
posted @ 2017-08-29 16:32 张伯雨
阅读(281)
评论(0)
推荐(0)
编辑
上一页
1
···
31
32
33
34
35
36
37
下一页