Guava常用方法
简介
Guava,中文是石榴的意思,Guava项目,是基于java的Google的开源的工具类库,包含了许多被Google的java项目广泛依赖的核心库,
例如:集合、缓存、原生类型支持、并发库、通用注解、字符串处理、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。
为什么项目开发中我们要选择Guava,借用网友的回答:
•瓜娃是java API蛋糕上的冰激凌(精华)
•高效设计良好的API
•被google的开发者设计,实现和使用
•遵循高效的java这本书的好的语法实践
•使代码更刻度,简洁,简单
•使用java 1.5的特性
•流行的API,动态的开发
•它提供了大量相关的应用类,集合,多线程,比较,字符串,输入输出,缓存,网络,原生类型,数学,反射等等
•百分百的单元测试,被很多的项目使用,帮助开发者专注业务逻辑而不是写java应用类
•节省时间,资源,提高生产力
•我的目的是为基本的java特征提供开源代码的支持,而不是自己再写一个
•ApacheCommon库Apache是一个很好的成熟的库,但是不支持泛型,Apache对早起的java版本很有用-1.5之前的
•java7,java8 最新的java支持一些guava的API
在项目开发中适当的场景灵活运用Guava,可使我们省去复杂的数据处理,代码简介易用,不易出错,
代码可读性健壮性增强,让我们有更多时间专注业务的处理,总之就是使我们的代码更加的优雅。
Maven依赖
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
字符串检查工具
/**
* Guava Strings工具类的使用,null和empty的判断与转化
* @author chenleixing
*/
public void testStrings(){
Strings.isNullOrEmpty("");//返回true
Strings.nullToEmpty(null);//""
Strings.nullToEmpty("chen");//返回"chen"
Strings.emptyToNull("");//返回null
Strings.emptyToNull("chen");//返回"chen" Strings.commonPrefix("aaab", "aac");//"aa"否则返回""
Strings.commonSuffix("aaac", "aac");//"aac"否则返回""
}
NULL值检查
先决条件检查
//判断参数1的布尔值,如果为假抛出第二个参数的异常信息IllegalArgumentException
Preconditions.checkArgument(i>0,"Argument was %s but expected nonnegative");
判断对象是否为null
//判断参数1的布尔值,如果为null 抛出第二个参数的异常信息NullPointerException
Preconditions.checkNotNull(null,"该对象为Null");
操作集合
之前
Map<String, Map<Long, List<String>>> map = new HashMap<String, Map<Long,List<String>>>();
用Guava
Map<String, Map<Long, List<String>>> map = Maps.newHashMap();
之前
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
现在
List<String> list =Lists.newArrayList("a","b","c","d");
参考:
Guava 官方教程(中文版)http://ifeve.com/google-guava/
Guava常用方法的更多相关文章
- Guava的常用方法示例
Guava Maven Dependency <dependency> <groupId>com.google.guava</groupId> <artifa ...
- java代码之美(3)---guava 复写Object常用方法
guava 复写Object常用方法 Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,这个库提供用于集合,缓存,支持原语,并发性,常见注解,字符串处理,I/O和验证的实用方 ...
- java代码(3)----guava复写Object常用方法
guava复写Object常用方法 Guava是一个Google的基于java1.6的类库集合的扩展项目,这个库提供用于集合,缓存,支持原语,并发性,字符串处理,I/O和验证的实用方法, 这些高质量的 ...
- Guava学习笔记(3):复写的Object常用方法
转自:http://www.cnblogs.com/peida/p/Guava_Objects.html 在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals ...
- Guava学习笔记:复写的Object常用方法
在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法.每次写这几个方法都要做很多重复性的判断, 很多类库提供了覆写这 ...
- Guava学习笔记(一)概览
Guava是谷歌开源的一套Java开发类库,以简洁的编程风格著称,提供了很多实用的工具类, 在之前的工作中应用过Collections API和Guava提供的Cache,不过对Guava没有一个系统 ...
- guava学习--Objects
转载:https://my.oschina.net/realfighter/blog/349821 Java中的Object类是所有Java类的超类(也就是祖先),所有对象都实现Object类中的方法 ...
- Guava学习笔记:Google Guava 类库简介
http://www.cnblogs.com/peida/tag/Guava/ Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, cachin ...
- Guava学习笔记目录
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libra ...
随机推荐
- 新手福音︱正则表达式小工具RegExr
由于之前在做NLP的内容,势必会接触正则表达式,但是呢,又觉得这个学不明白- 于是,这个工具还是蛮不错的,相当于在线正则速查+验证小工具,对于我这样的新手值得去玩玩. github:https://g ...
- Android的OkHttp开源框架的使用方法
前段时间研究了下Android里面非常火爆的网络请求库OkHttp,这篇文章主要来介绍下OkHttp的常用请求的使用方式,后面一篇文章会介绍本人基于OkHttp封装的一个操作更简单.更适用于项目的网络 ...
- Codeforces Round #467 (Div. 1) B. Sleepy Game
我一开始把题目看错了 我以为是博弈.. 这题就是一个简单的判环+dfs(不简单,挺烦的一题) #include <algorithm> #include <cstdio> #i ...
- Codeforces Round #424 Div2 E. Cards Sorting
我只能说真的看不懂题解的做法 我的做法就是线段树维护,毕竟每个数的顺序不变嘛 那么单点维护 区间剩余卡片和最小值 每次知道最小值之后,怎么知道需要修改的位置呢 直接从每种数维护的set找到现在需要修改 ...
- httpclient的get带参不带参post带参不带参的简单应用
一,基础的的应用 1.1,get的无参请求 @Test public void doGet() throws Exception { //创建一个httpclient对象 CloseableHttpC ...
- 由js深拷贝引起的对内存空间的一些思考
数据类型 js常用数据类型分为基本类型和引用类型 基本类型:null.undefined.数值型.字符串型.布尔型 引用类型:数组.对象 内存空间 var a = [1, 2, 3]; var b = ...
- 使用Aspose将DataTable转Excel
0.准备工作 1.下载并引入Aspose.Cells 下载Aspose Cells并引入using Aspose.Cells 下面示例中用的是.net 3.0版本的Aspose Cells,编译环 ...
- PhotoShop制作简单的文字动画--多媒体技术与应用
下面是最终实现的效果图: 1.新建图像,设置图像属性如下所示. 2.使用[横排文字工具]在背景图像上打上文字内容 3.[图层]——>[图层式样]——>[渐变叠加] 出现“图层样式”面板 4 ...
- 初学 Java Web 开发,从 Servlet 开发
1. 基本要求:Java 编程基础 有良好的 Java 语言编程基础,这是必须的,在讨论 Web 开发技术时提了一个 Java 编程基础的问题会被鄙视的. 2. 环境准备 (Eclipse + Tom ...
- #YCB#待做题目与填坑资料
各种填坑资料(qwq) 主席树(by YL)戳 树套树(by ZSY)戳 不要问我这些题咋来的(查大佬的水表呗) 题目列表: [HDU5977]Garden of Eden [BZOJ2752][HA ...