今天在使用Google Collections这个优秀的工具包,特意做下笔记。
首先项目里导入Google Collections的相关JAR或依赖。
在平时的开发中我们都会遇到在类里初始化数据的业务场景,比如在接口限制前端传的某某类型必须为3006,3025,3008。
如下,我们会初始化一个静态常量,在静态块里初始化值,显然这很冗余,添加的越多占用行数越多,代码不简洁。
但是在使用Google Collections工具包后,这将变得更加简单高效,一行代码搞定。
ImmutableMap ,ImmutableList,ImmutableSet 一经初始化是无法改变的,包括往里面新增数据。
package cn.com.osd.test_goolecollection;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.ImmutableList;
public class TestList{
//原始方法手动添加
final static List<String> list1 = new ArrayList<String>();
static{
list1.add("3006");
list1.add("3025");
list1.add("3008");
}
//ImmutableMap ,ImmutableList,ImmutableSet 一经初始化是无法改变的,包括往里面新增数据
final static List<String> list = ImmutableList.of("3006","3025","3008");
}
测试代码:
package cn.com.osd.test_goolecollection;
public class CreatTest {
public static void main(String[] args) {
TestList testList = new TestList();
System.out.println("google coll:"+testList.list);
System.out.println("手动创建:"+testList.list1);
System.out.println("------------------");
TestList testList1 = new TestList();
System.out.println("google coll:"+testList1.list);
System.out.println("手动创建:"+testList1.list1);
}
}
输出结果:
在测试类里加入这行代码
testList.list.add("2222");
运行时直接报错
不支持的操作 !!!
对于手动添加的静态常量list1,往里add不会报错
testList.list1.add("2222");
运行结果
添加进去了,是允许操作的。ImmutableList直接不允许add或remove这个list
关于Google Collections工具包的使用仍在继续探究,他会使你的代码高效简洁,因为你不需要重复造轮子。