代码改变世界

随笔档案-2012年06月

Guava学习笔记(3)--覆写Object的常用方法[翻译+学习笔记]

2012-06-30 17:43 by 会被淹死的鱼, 1133 阅读, 收藏, 编辑
摘要: Java的Object是所有类的父类, 也有几个常用的需要覆写的方法, 比如equals, hashCode和toString.每次写这几个方法都要做很多重复性的判断, 很多类库提供了覆写这几个方法的工具类, 比如apache commons lang.Guava也提供了类似的方式, 在JDK7也提供了和Guava类似的方法.equalsequals是一个经常需要覆写的方法, 可以查看Object的equals方法注释, 对equals有几个性质的要求: 自反性reflexive, 对称性symmetric, 传递性transitive, 一致性consistent. 还有一个要求: 对于所有 阅读全文

Guava学习笔记(2)--使用Preconditions作参数的预判断[翻译+学习笔记]

2012-06-27 18:57 by 会被淹死的鱼, 3044 阅读, 收藏, 编辑
摘要: Guava中提供了一个作参数检查的工具类--Preconditions, 静态导入这个类, 可以大大地简化代码中对于参数的预判断和处理.import static com.google.common.base.Preconditions.*;在以前, 我们需要判断一个参数不为空的话, 需要像下面这样写 public void testMethod(Object obj) { if (obj == null) { throw new NullPointerException(); } // ... other operations }每次都要添加if语句来做判断, 重复的工作会做好多次... 阅读全文

Guava学习笔记(1)--安全地使用null(Using and avoiding null)

2012-06-20 20:26 by 会被淹死的鱼, 3114 阅读, 收藏, 编辑
摘要: Guava是一个基于java1.6的类库集合, 包含了几个google的核心库, collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等库, 这些工具都使用在google的生产环境.使用Guava很简单, 只需要包含他的库文件既可.官方网址: http://code.google.com/p/guava-libraries/null是一个特殊的值, 却经常是有着实在含义的, null可以表达失败, 可以表示成功, 可以表示任何我们定义 阅读全文