[Guava学习笔记]Basic Utilities: Null, 前置条件, Object方法, 排序, 异常
2014-07-14 13:32
806 查看
我的技术博客经常被流氓网站恶意爬取转载。请移步原文:http://www.cnblogs.com/hamhog/p/3842433.html,享受整齐的排版、有效的链接、正确的代码缩进、更好的阅读体验。
创建:Optional.of(T)不接受null Optional.fromNullable(T)接受null Optional.absent()
查询:isPresent() get() or(T)如果为null则为T orNull()
其他:Objects.firstNonNull(T, T)用于给null指定默认值,如果两个都是null会抛NullPointerException
emptyToNull(String),nullToEmpty(String)
用法:
checkArgument(boolean) checkNotNull(T) checkState(boolean)
checkElementIndex(int index, int size) checkPositionIndexes(int start, int end, int size)
可内联使用:this.field = checkNotNull(field)
toString():
compare():
构造:natural()自然序 usingToString()字典序 from(Comparator)
链式调用:reverse()逆序 nullsFirst() nullsLast() lexicographical() onResultOf(Function)
集合和元素:greatestOf(Iterable iterable, int k) min(Iterable) min(E, E, E, E...)
isOrdered(Iterable) sortedCopy(Iterable)
Null
Guava用Optional表示可能为null的T类型引用。创建:Optional.of(T)不接受null Optional.fromNullable(T)接受null Optional.absent()
查询:isPresent() get() or(T)如果为null则为T orNull()
其他:Objects.firstNonNull(T, T)用于给null指定默认值,如果两个都是null会抛NullPointerException
emptyToNull(String),nullToEmpty(String)
前置条件
静态import:import static com.google.common.base.Preconditions.checkNotNull;
用法:
checkArgument(i >= 0, "Argument was %s but expected nonnegative", i); checkArgument(i < j, "Expected i < j, but %s > %s", i, j);
checkArgument(boolean) checkNotNull(T) checkState(boolean)
checkElementIndex(int index, int size) checkPositionIndexes(int start, int end, int size)
可内联使用:this.field = checkNotNull(field)
object方法
Objects.equals(a,b)可null的equals Objects.hash(Object...)toString():
// Returns "ClassName{x=1}" Objects.toStringHelper(this).add("x", 1).toString(); // Returns "MyObject{x=1}" Objects.toStringHelper("MyObject").add("x", 1).toString();
compare():
public int compareTo(Foo that) { return ComparisonChain.start() .compare(this.aString, that.aString) .compare(this.anInt, that.anInt) .compare(this.anEnum, that.anEnum, Ordering.natural().nullsLast()) .result(); }
排序
Ordering:Comparator的实现构造:natural()自然序 usingToString()字典序 from(Comparator)
链式调用:reverse()逆序 nullsFirst() nullsLast() lexicographical() onResultOf(Function)
Ordering<Foo> ordering = Ordering.natural().nullsFirst().onResultOf(new Function<Foo, String>() { public String apply(Foo foo) { return foo.sortedBy; } });
集合和元素:greatestOf(Iterable iterable, int k) min(Iterable) min(E, E, E, E...)
isOrdered(Iterable) sortedCopy(Iterable)
相关文章推荐
- Guava学习笔记:复写的Object常用方法
- Guava学习笔记(3):复写的Object常用方法
- Guava学习笔记:复写的Object常用方法
- Guava学习笔记【4】:复写的Object常用方法
- Guava学习笔记(3)--覆写Object的常用方法[翻译+学习笔记]
- Guava学习笔记:复写的Object常用方法
- 31天重构学习笔记18. 使用条件判断代替异常
- 31 天重构学习笔记18. 使用条件判断代替异常
- Guava学习笔记(1)--安全地使用null(Using and avoiding null)
- Python学习笔记_数据排序方法
- Guava学习笔记:Optional优雅的使用null
- Guava学习笔记:简化异常处理的Throwables类
- Object-C学习笔记(二)——类类型的相关方法和说明
- 【原创】Asp.net MVC 学习笔记之-为什么使用Html.TextBox方法会出现异常?
- Object-C 学习笔记(十一)---动态绑定&异常处理
- Python学习笔记_数据排序方法
- openerp学习笔记 统计、分析、报表(过滤条件向导、分组报表、图形分析、比率计算、追加视图排序)
- 多态Object类toString方法学习笔记ObjectDemo.java
- 31天重构学习笔记18. 使用条件判断代替异常
- 多态Object类equals方法学习笔记ObjectDemo.java