學習Google guava工具類
阿新 • • 發佈:2019-01-11
1、前言
好的工具類能節約開發者的開發成本,今天學習一個新的工具類guava。guava是谷歌出品的一款開源java工具類,提供一些常用的方法。以下指示一些常用的方法,guava還提供其他的一些方法,可以通過線上API自行學習。
2、座標
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>19.0</version> </dependency>
3、小試牛刀
/** * 集合工具 * */ @Test /* * 簡寫new方法,可以預設初始化。可以繼續新增元素(優於Arrays.asList) * Map、Set均可這樣寫 */ public void test01() { List<Integer> intList = Lists.newArrayList(1,2,3); System.out.println(intList); //[1,2,3] System.out.println("----------------------"); intList.add(5); System.out.println(intList); //[1,2,3,5] } @Test // 取出集合中某一屬性拼接成List public void test02() { List<Student> stuList = Lists.newArrayList(new Student("Test001","Jack Chen","Kong Fu"), new Student("Test002","Maike Jackson","Dancing")); List<String> noList = Lists.transform(stuList, new Function<Student, String>() { @Override public String apply(Student stu) { return stu.getNo(); } }); System.out.println(noList.toString()); //[Test001, Test002] } @Test // 按照List集合中的物件唯一屬性,與集合中的物件對應,返回Map public void test03() { List<Student> stuList = Lists.newArrayList(new Student("Test001","Jack Chen","Kong Fu"), new Student("Test002","Maike Jackson","Dancing")); ImmutableMap<String, Student> map = Maps.uniqueIndex(stuList, new Function<Student, String>() { @Override public String apply(Student stu) { return stu.getNo(); } }); System.out.println(map.get("Test002").toString()); //Student [no=Test002, name=Maike Jackson, major=Dancing] } /** * String工具類 * */ @Test public void test04() { String str = ""; System.out.println(str); System.out.println("--------------"); System.out.println(Strings.emptyToNull(str)); // null System.out.println("--------------"); System.out.println(Strings.nullToEmpty(Strings.emptyToNull(str))); // "" System.out.println(Strings.isNullOrEmpty("")); //true } /** * 字串的分割和連線 * */ @Test public void test05() { Joiner joiner = Joiner.on("#"); String str = joiner.join(Lists.newArrayList(1, 3, 5, 7)); System.out.println(str); // 1#3#5#7 String str2 = " a;null;b;;c; ;d; e ;f "; Splitter split = Splitter.on(";"); Iterable<String> list = split.split(str2); System.out.println(list.toString()); //[ a, null, b, , c, , d, e , f ] // 取消前後的空格以及忽略空字元換 System.out.println( Splitter.on(";").trimResults().omitEmptyStrings().split(str2).toString()); //[a, null, b, c, d, e, f] }
4、參考文件
線上API:http://tool.oschina.net/apidocs/apidoc?api=guava
中文PDF文件下載:https://pan.baidu.com/s/1RTbTU26-t1s5lMkvfzONOQ