Guava庫介紹
一、什麼是Guava
1)Guava庫是一個適合很多Java專案的通用工具庫
2)Guava工具庫中包含了:集合Collection、併發Concurrency、原語Primitive、反射Reflection、比較Comparison、I/O操作、雜湊Hash、網路Networking、字串String、數學函式Math、快取Caching、記憶體中的釋出/訂閱……以及各種級別的資料型別
3)需要JDK 6以上版本
二、函式介面
在深入Guava庫之前,我們先了解其函式介面,瞭解這些函式介面有助於我們更好地掌握Guava庫。
函式介面:
1)函式介面是定義了單個方法的介面
2)函式介面包含了眾所周知的單個抽象方法(SAM,Single Abstract Method)
3)函式介面為Java 8 Lambda表示式提供了基礎
函式介面是很酷的:你指定任何一個介面都可以作為方法引數,還可以在Java 8中傳遞Lambda表示式
4)函式介面可以被當作回撥物件
三、函式介面的一些例子
下面的例子是Java 8的函式介面。
1、函式介面帶單個方法引數
@FunctionalInterface{
public boolean check(Order o);
}
接著我們可以建立Lambda表示式,使用上面的函式介面。
IOrder newOrder = (Order o) -> o.getStatus().equals("NEW");
或者
IOrder newOrder = (o) ->o.getStatus().equals("NEW");
說明:
1)表示式右邊是一個簡單的檢查方法的內容——檢查傳遞到Order物件的狀態。
2)當建立了大量能表達需求行為或功能的Lambda表示式後,Lambda表示式的威力才能體現出來。
2、再舉個例子,緊接上面的例子,找出大額訂單。
// Lambda表示式找出大額訂單
IOrder bigOrderLambda = (Order o) -> o.getQuantity() > 10000000;
// Lambda表示式找出新的大額訂單
ITrade issuerBigNewTradeLambda = (o) -> {
return o.getIssuer().equals("Honda") &&
o.getQuantity() > 10000000 &&
o.getStatus().equals("NEW");
}
四、總結
Google Guava庫在”com.google.common.base”中提供了幾個很有用的SAM,包括:
1)Function
指定了一個接收“T”型別例項並返回“R”型別例項的方法
2)Predicate
指定了一個傳遞“T”型別例項並返回布林型別的方法
3)Supplier
指定了一個能夠返回值的方法
還需要知道,這些SAM雖然誕生於Guava庫,但是也加入了Java 8。
相關文章
- Guava ListenableFuture介紹以及使用Guava
- Guava併發:ListenableFuture使用介紹以及示例Guava
- Google guava工具類的介紹和使用GoGuava
- 工具篇:介紹幾個好用的guava工具類Guava
- Guava文件翻譯之 Guava簡介Guava
- guava的wiki和Strings的所有方法介紹Guava
- Google Guava 使用者指南 —- 初始Guava類庫GoGuava
- 資料庫介紹資料庫
- boost庫的介紹
- XCharts 開源庫介紹
- IndexedDB資料庫介紹Index資料庫
- vuejs元件庫pk介紹VueJS元件
- MySQL資料庫鎖介紹MySql資料庫
- funclib函式庫介紹函式
- javassist庫介紹__API詳解JavaAPI
- postgresql資料庫鎖介紹SQL資料庫
- 標準模板庫介紹(轉)
- 資料庫介紹--初識資料庫資料庫
- 資料庫安全知識介紹資料庫
- Java中的AI庫大全介紹JavaAI
- 介紹一個請求庫 — Undici
- QuestDB時序資料庫介紹資料庫
- L10資料庫——資料庫介紹資料庫
- C++各大有名庫的介紹——其他庫C++
- [Guava] Google Guava 集合工具類GuavaGo
- 資料庫基礎知識介紹!資料庫
- Blazor 元件庫 BootstrapBlazor 中Editor元件介紹Blazor元件boot
- MongoDB 資料庫介紹及安裝MongoDB資料庫
- MySQL information_schema 系統庫介紹MySqlORM
- iOS混合開發庫(GICXMLLayout)一、介紹iOSXML
- domutils 工具庫的使用方法介紹
- 介紹 DotNet 庫 - Viyi.Strings
- Blazor Bootstrap 元件庫語音元件介紹Blazorboot元件
- Oracle資料庫審計功能介紹Oracle資料庫
- Android Support 庫各版本功能介紹Android
- RAC資料庫後臺程式介紹資料庫
- jCharts:Java圖表類庫使用介紹Java
- Oracle資料庫字符集介紹Oracle資料庫