博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Guava常用方法
阅读量:4569 次
发布时间:2019-06-08

本文共 1941 字,大约阅读时间需要 6 分钟。

简介

  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依赖

 

1 
2
com.google.guava
3
guava
4
19.0
5

字符串检查工具

1 /**  2  * Guava Strings工具类的使用,null和empty的判断与转化  3  * @author chenleixing  4  */   5 public void testStrings(){   6     Strings.isNullOrEmpty("");//返回true   7     Strings.nullToEmpty(null);//""   8     Strings.nullToEmpty("chen");//返回"chen"   9     Strings.emptyToNull("");//返回null  10     Strings.emptyToNull("chen");//返回"chen"  11       12     Strings.commonPrefix("aaab", "aac");//"aa"否则返回""  13     Strings.commonSuffix("aaac", "aac");//"aac"否则返回""  14 }

NULL值检查

先决条件检查

1 //判断参数1的布尔值,如果为假抛出第二个参数的异常信息IllegalArgumentException2 Preconditions.checkArgument(i>0,"Argument was %s but expected nonnegative");

判断对象是否为null

1 //判断参数1的布尔值,如果为null 抛出第二个参数的异常信息NullPointerException2 Preconditions.checkNotNull(null,"该对象为Null");

操作集合

之前

1     Map
>> map = new HashMap
>>();

用Guava

1 Map
>> map = Maps.newHashMap();

 之前

1 List
list = new ArrayList
();2 list.add("a");3 list.add("b");4 list.add("c");5 list.add("d");

现在

1 List
list =Lists.newArrayList("a","b","c","d");

 参考:

Guava 官方教程(中文版)http://ifeve.com/google-guava/

转载于:https://www.cnblogs.com/PreachChen/p/8655600.html

你可能感兴趣的文章
文件管理File类
查看>>
优化PHP程序的方法
查看>>
字典排序,初始化,简单使用
查看>>
《Linux内核分析》课程第七周学习总结
查看>>
Generate parentheses,生成括号对,递归,深度优先搜索。
查看>>
分布式事务- MSDTC配置
查看>>
安装vue模板时,选择webpack-simple还是Webpack?
查看>>
解决inputStream二次读取问题
查看>>
DbHelperSQL—— 动软生成DbHelperSQL类
查看>>
Java笔试题之SQL语句(单表)
查看>>
Jason 和 Java 对象转化示例
查看>>
笔记_第一章_01
查看>>
github开发
查看>>
Codeforces Round #564(div2)
查看>>
python协程
查看>>
PAT甲题题解-1051. Pop Sequence (25)-堆栈
查看>>
IaaS基础设施资源管理架构与openstack各组件对应关系
查看>>
面向对象
查看>>
什么是静态方法
查看>>
sql server中将一个表中的部分数据插入到另一个表中
查看>>