《Guava学习笔记之一》:不可变集合Immutable
Guava,简单来说,就是一些类库,来简化我们常用的一些操作的实现。
在学习Guava之前,先看一个场景。这样可以让我们先对这样一个类库有一个感性的认识。
现在一个方法,接受list作为参数,当这个方法被调用的时候,我们需要检查list是不是null和是不是空,一般的java解决方案如下所示:
public void doSomething( List<Object> list ) {
if( list == null ) {
throw new IllegalArgumentException( "List must not be null" );
}
if( list.isEmpty() ) {
throw new IllegalArgumentException( "List must not be empty" );
}
doSomethingMore( list );
}
当使用guava的预判断,代码的数量明显减少,解决方案如下所示.
public void doSomething( List<Object> list ) {
checkArgument( list != null, "List must not be null" );
checkArgument( !list