本系列想介紹下Java下開源的優秀編程庫--Guava[ˈgwɑːvə]。它包含了Google在Java項目中使用一些核心庫,包含集合(Collections),緩存(Caching),並發編程庫(Concurrency),常用注解(Common annotations),String操作,I/O操作方面的眾多非常實用的函數。Guava需要JDK1.6及以上版本。
使用這些開源的類庫,幫助非常大,能夠節約你的寶貴時間,減少你出錯的可能,讓你把時間都集中在處理自己獨特的業務邏輯上。同時可以多看看這些優秀的開源庫,向他們學習,能夠幫助你設計更好的API,讓你的代碼更易讀,更整潔,更簡單,因為這些API自身就是很好的例子。
Guava庫是按照Joshua Bloch的 Effective Java: 2nd Edition來寫的,不可變性(不可變的集合,CharMatcher
,Joiner
, Splitter
等),構造者模式(ImmutableList.builder()
, Joiner
, Ordering
等),范型等隨處可見,使用工廠而不是構造函數(Maps.newHashMap()
),鍾情於組合而不是繼承(ForwardXXX這類集合)。
如果你是使用Maven來作Java/Android項目管理,可以在pom.xml中dependencies
下添加對Guava的依賴,然后在IntelliJ IDEA重新導入(Reimport)這個項目,讓Maven下載Guava對應版本的jar包,就可以使用Guava提供的眾多API了。如果在IntelliJ IDEA中跳轉到了Guava的代碼中,可以使用右上角提示的"Download Source"來下載對應的源碼。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
本系列目錄如下,目前只寫了1,2后續會逐漸補上:
- 集合(Collection)相關的API
- 實用的工具類
- 緩存(Cacheing) API
- 並發編程(Concurrency)