文档章节

第1章 入门指南

 恒者
发布于 2014/03/30 23:53
字数 904
阅读 200
收藏 0

一、Google Guava简介

什么是Google Guava?最初开始于2007年的"Google Collections Library",它为使用Java集合类提供了实用程序,Google Guava项目已经发展成为Java开发者必备的工具集。

它有为了处理字符串(strings),集合(collections),并发(concurrency),I/O和反射(reflection)的类。

Function接口给了我们把函数式编程整合进Java的能力,且极大地简化我们的代码。

Supplier接口有助于创建型模式(creational patterns)。

但Guava不仅仅是带有一些Java之外的模版的抽象,或我们总觉得本应该放到Java中的便利方法。它有关编写良好的代码且让代码更富有弹性和简洁性。

所有我的建议是:不只是使用Guava,而且要看看源码和感受一下功能是如何实现的。然后尝试将你学到的原理应用于你的代码。

 

二、安装Guava
为了开始使用Guava,你只需要安装Java 1.6或更高的版本。Guava的最新版本是18.0,发布于2014年8月25日。
以下是你开始使用Guava,需要执行执行的步骤:
1.下载guava-18.0.jar,地址:http://mvnrepository.com/artifact/com.google.guava或者http://central.maven.org/maven2/com/google/guava/
2.如果你正在使用GWT且想要在代码中利用Guava的优势,下载GWT兼容版guava-gwt-18.0.jar。
3.一旦JAR文件已下载,将其作为外部库添加到你的IDE中(IntelliJ, NetBeans, 或Eclipse)。如果你正在使用文本编辑器(Sublime Text 2或TextMate),添加JAR文件到你的classpath。
4.为了方便地使用Guava,可以下载Guava的源码包guava-18.0-sources.jar和Guava的API包guava-18.0-javadoc.jar。

 

三、和Maven或Gradle一起使用Guava

尽可能地和构建工具(如Maven或Gradle)一起使用Guava。

为了在你的Maven项目中使用Guava,添加如下内容到你的pom.xml文件的dependencies部分:
<dependency>
 <groupId>com.google.guava</groupId>
 <artifactId>guava</artifactId>
 <version>18.0</version>
</dependency>

如果你正在使用Gradle,首先要添加Maven中央资料库(如果你还没有),是通过添加如下内容到你的build.gradle文件中来实现的:
repositories {
    mavenCentral()
}

然后,添加如下添加如下内容(只需compile group部分)到你的build.gradle文件的dependencies部分:

dependencies {
    compile group: 'com.google.guava' name: 'guava' version: '18.0'
}

Maven的更多信息:http://maven.apache.org/
Gradle的更多信息:http://www.gradle.org/

 

提及Guava只有一个依赖即JSR-305,是非常重要的。

JSR-305是一个定义注释的规范,它被Java程序中检查缺陷的工具使用。详见:https://jcp.org/en/jsr/detail?id=305

如果你不打算直接使用JSR-305 JAR包,你不需要将它包含在你的dependencies中。但是如果你想使用JSR-305,你需要显式定义这个依赖,因为它不会自动被引入。

另外,如果你打算在Sacla中使用Guava,你将必须引入JSR-305 JAR文件。尽管Java编译器编译时不需要包含注释(annotations)的包,但Scala编译器目前需要。

尽管未来可能会改变,但是现在,如果你想要在Scala中使用Guava,你将需要把JSR-305 JAR文件放在你的classpath下。

 

在Maven项目使用Guava:
打开Eclipse,File--New--Maven Project,
Next--选择"maven-archetype-quickstart", Next,
Group Id: com.xxx.guava
Artifact Id: guavademo
Version: 0.0.1-SNAPSHOT
Package: com.xxx.guava.guavademo

--Finally。


在pom.xml的<dependencies>标签部分添加:
<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>18.0</version>
</dependency>


在Eclipse中配置Maven下载源码和javadoc:
Window--Preferences--Maven:
选择"Download Artifact Sources"和"Download Artifact JavaDoc"即可。
(还可以选择"Download repository index updates on startup")


接下来,就可以使用Guava了。

 

 

 

 

 

 

© 著作权归作者所有

粉丝 10
博文 25
码字总数 38957
作品 0
武汉
私信 提问
《Knockout应用开发指南》系列技术文章整理收藏

《Knockout应用开发指南》系列技术文章整理收藏 Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化,Knockout应用开发指南系列整理了Knockout方面的技术文章,供学习...

开元中国2015
2015/06/22
26
0
Shell资料

《Shell脚本学习指南》 关键字: shell 《Shell脚本学习指南》 在互动网上可以下载样章 【内容简介】 Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。对...

小编
2009/06/16
931
1
收藏|学习Python编程的6本书籍

本文与大家分享一些Python编程语言的入门书籍,其中不乏经典。有关书籍的介绍,大部分截取自官方介绍。 Python基础教程(Begining Python) 《Python基础教程(第2版·修订版)》是经典的Pyt...

诸葛玥
2017/12/28
0
0
12月中旬值得一读的10本技术新书(Go Web编程、Linux、TensorFlow等)!文末有福利!

12月12日,阿里云云栖社区机构号 联合人邮异步社区为大家带来十本技术书籍(Go Web编程、Linux、TensorFlow等)。以下为书籍详情,文末还有福利哦! 书籍名称:《Go Web编程》 内容简介 本书...

阿里云云栖社区
2017/12/12
0
0
数据分析必备,《利用Python进行数据分析》推荐

一、书籍介绍 《利用Python进行数据分析》由Python pandas项目的创建者Wes McKinney撰写,是对Python中数据科学工具的实用,现代的介绍。并针对Python 3.6进行了更新,本实用指南的第二版包含...

IT程序员
05/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
10
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
22
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部