学习Google guava工具类

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


猜你喜欢

转载自blog.csdn.net/static_coder/article/details/80496319