guava是java API蛋糕上的冰激凌(精华).

源码包的简单说明: 
  com.google.common.annotations:普通注解类型。 
  com.google.common.base:基本工具类库和接口。 
  com.google.common.cache:缓存工具包,非常简单易用且功能强大的JVM内缓存。 
  com.google.common.collect:带泛型的集合接口扩展和实现,以及工具类,这里你会发现很多好玩的集合。 
  com.google.common.eventbus:发布订阅风格的事件总线。 
  com.google.common.hash: 哈希工具包。 
  com.google.common.io:I/O工具包。 
  com.google.common.math:原始算术类型和超大数的运算工具包。 
  com.google.common.net:网络工具包。 
  com.google.common.primitives:八种原始类型和无符号类型的静态工具包。 
  com.google.common.reflect:反射工具包。 
  com.google.common.util.concurrent:多线程工具包。

现在针对每个包的类现在进行测试。

com.google.common.base:基本工具类库和接口

Ascii:针对ASCII码的处理,比较实用的方法有:

toLowerCase(String param):将传入的param的字符处理为小写。

toUpperCase(String param):将传入的param的字符处理为大写。

truncate(CharSequence seq, int maxLength, String indicator):将seq的字符串截断衔接上indicatori字符串,使总体字符串长度等于maxLength。如果maxLength小于indicator的长度,报错IllegalArgumentException.如果maxLength大于seq的长度,则结果即为seq。

public class AsciiOwnTest {

     public static void main(String[] args) {
String test=Ascii.toLowerCase("ZHONG GUO!");
System.out.println(test);
test=Ascii.toUpperCase("feng ge");
System.out.println(test);
//test=Ascii.truncate("laoshiha", 3, "....");这个会报错
//System.out.println(test);
test=Ascii.truncate("laoshiha", 4, "....");
System.out.println(test);
test=Ascii.truncate("laoshiha", 5, "....");
System.out.println(test);
test=Ascii.truncate("laoshiha", 6, "....");
System.out.println(test);
test=Ascii.truncate("laoshiha", 7, "....");
System.out.println(test);
test=Ascii.truncate("laoshiha", 8, "....");
System.out.println(test);
test=Ascii.truncate("laoshiha", 9, "....");
System.out.println(test);
}
}

结果如下:

zhong guo!
FENG GE
....
l....
la....
lao....
laoshiha
laoshiha

                Joiner:用于将容器中的元素进行拼接,这个还是比较实用。

on(String param):按照param来做分隔符。

join(Iterator<?> part):用来拼接迭代器中的元素,返回一个String类型

append(A extend appendable,Iterator<?> parts): 在A对象后边加拼接迭代器中的元素。

public class Test {

     public static void main(String[] args) {

         Joiner joiner = Joiner.on(";");
List<String> lists = new ArrayList<String>();
lists.add("hhaha");
lists.add("中国龙");
System.out.println(joiner.join(lists.iterator()));
StringBuilder sb = new StringBuilder();
sb.append("什么意思?");
sb =joiner.appendTo(sb, lists);
System.out.println(sb.toString()); }
hhaha;中国龙
什么意思?hhaha;中国龙

                 Objects:实体类

equal(,):校验两个对象是否相等.

     public static void main(String[] args) {
System.out.println(Objects.equal(1,1));
}
true

Splitter:按照某个字符分割一组数据。

on():分隔符.

split(CharSequence param):分割的数据.

public class Test {

     public static void main(String[] args) {
Iterator<String> it = Splitter.on(",").split("wo,xiang,ni").iterator();
while(it.hasNext()){
System.out.println(it.next());
}
} }

结果:

wo
xiang
ni

ComparisonChain:执行比较操作直至发现非零的结果,在那之后的比较输入将被忽略。

 class TestCompare implements Comparable<TestCompare>{

         private String hehe;

         private int heihei;

        public String getHehe() {
return hehe;
}
public void setHehe(String hehe) {
this.hehe = hehe;
} @Override
public int compareTo(TestCompare t) {
return ComparisonChain.start()
.compare(this.hehe, t.hehe)
.compare(this.heihei, t.heihei)
.result();
} }

Guava的一些总结的更多相关文章

  1. Spring cache简单使用guava cache

    Spring cache简单使用 前言 spring有一套和各种缓存的集成方式.类似于sl4j,你可以选择log框架实现,也一样可以实现缓存实现,比如ehcache,guava cache. [TOC ...

  2. Guava库介绍之实用工具类

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...

  3. Google Java编程库Guava介绍

    本系列想介绍下Java下开源的优秀编程库--Guava[ˈgwɑːvə].它包含了Google在Java项目中使用一些核心库,包含集合(Collections),缓存(Caching),并发编程库(C ...

  4. [Java 缓存] Java Cache之 Guava Cache的简单应用.

    前言 今天第一次使用MarkDown的形式发博客. 准备记录一下自己对Guava Cache的认识及项目中的实际使用经验. 一: 什么是Guava Guava工程包含了若干被Google的 Java项 ...

  5. [转载]Google Guava官方教程(中文版)

      原文链接  译文链接 译者: 沈义扬,罗立树,何一昕,武祖  校对:方腾飞 引言 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] ...

  6. java开发人员,最应该学习和熟练使用的工具类。google guava.(谷歌 瓜娃)

    学习参考文章: http://blog.csdn.net/wisgood/article/details/13297535 http://ifeve.com/google-guava/ http:// ...

  7. Guava学习笔记(一)概览

    Guava是谷歌开源的一套Java开发类库,以简洁的编程风格著称,提供了很多实用的工具类, 在之前的工作中应用过Collections API和Guava提供的Cache,不过对Guava没有一个系统 ...

  8. Guava monitor

    Guava的com.google.util.concurrent类库提供了相对于jdk java.util.concurrent包更加方便实用的并发类,Monitor类就是其中一个.Monitor类在 ...

  9. 使用Guava EventBus构建publish/subscribe系统

    Google的Guava类库提供了EventBus,用于提供一套组件内publish/subscribe的解决方案.事件总线EventBus,用于管理事件的注册和分发.在系统中,Subscribers ...

  10. Guava Supplier实例

    今天想讲一下Guava Suppliers的几点用法.Guava Suppliers的主要功能是创建包裹的单例对象,通过get方法可以获取对象的值.每次获取的对象都为同一个对象,但你和单例模式有所区别 ...

随机推荐

  1. WPF仿微软事件和属性窗体,效果更炫!

    先看效果图:包含系统颜色.系统字体.支持自定义编辑窗体.集合绑定.提供多类型支持. 这是国外网站上无意中看到的,修改了下   感觉还不错!接下来大概介绍下 经过修修改改只留下了有用的主要部分: 前两项 ...

  2. php yield

    php中关于 yield 关键字的介绍[点击查看] <?php function gen_one_to_three() { for ($i = 1; $i <= 3; $i++) { // ...

  3. update inner join

    string sql = @"update a set a.M_ParentID=b.M_ParentID, a.M_Name=b.M_Name, a.M_Seq=b.M_Seq from ...

  4. 程序员带你十天快速入门Python,玩转电脑软件开发(三)

    声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 . 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群5 ...

  5. plsql中文乱码问题(显示问号)

    问题:打开plsql,执行sql语句,中文显示乱码: 解决方案: 输入sql语句select userenv('language') from dual查看数据库字符集 输入sql语句select * ...

  6. Jenkins corbertura问题

    最近在Jenkins上部署项目时遇到无法展示覆盖率测试报告的问题. build success后,出现配置的覆盖率报告存储位置not exists的失败问题,评估是Jenkins每次按照publish ...

  7. C#动态二维数组输出

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  8. #pragma——push and pop

    #pragma warning(push) #pragma warning(pop) 这两个语句在#include <SDKDDKVer.h>头文件中出现,处于好奇,查看msdn文档有了进 ...

  9. 创业 CEO:如何选择投资人

    欢迎来到「创业 CEO」系列,在这个系列中,我们讨论一个创业者如何教会自己成为一位伟大的 CEO,因为历史上最伟大的创业公司,往往都是由这样的人在领导. AppWorks 成立至今,总共参与投资了 2 ...

  10. 获取数据后导出Excel

    List<PortResourceInfo> list = getList()//获取数据源 //导出excle Response.Clear(); Response.ContentTyp ...