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
- Google guava工具類的介紹和使用GoGuava
- 工具篇:介紹幾個好用的guava工具類Guava
- guava的wiki和Strings的所有方法介紹Guava
- 資料庫介紹資料庫
- cuda函式庫介紹函式
- XCharts 開源庫介紹
- vuejs元件庫pk介紹VueJS元件
- funclib函式庫介紹函式
- HSQL 資料庫介紹(1)--簡介SQL資料庫
- hhdb資料庫介紹(4)資料庫
- MySQL 延遲從庫介紹MySql
- 介紹 DotNet 庫 - Viyi.Strings
- javassist庫介紹__API詳解JavaAPI
- MySQL資料庫鎖介紹MySql資料庫
- 資料庫介紹--初識資料庫資料庫
- H2 資料庫介紹(1)--簡介資料庫
- HSQL 資料庫介紹(2)--使用SQL資料庫
- 10個常用流行 Kotlin 庫介紹Kotlin
- QuestDB時序資料庫介紹資料庫
- 介紹一個請求庫 — Undici
- Java中的AI庫大全介紹JavaAI
- Kubernetes的client-go庫介紹clientGo
- 資料庫安全知識介紹資料庫
- L10資料庫——資料庫介紹資料庫
- hhdb資料庫介紹(9-3)資料庫
- hhdb資料庫介紹(9-5)資料庫
- hhdb資料庫介紹(9-11)資料庫
- hhdb資料庫介紹(9-1)資料庫
- hhdb資料庫介紹(9-2)資料庫
- hhdb資料庫介紹(9-15)資料庫
- hhdb資料庫介紹(9-12)資料庫
- hhdb資料庫介紹(8-3)資料庫
- HuggingFace的transformers 庫中的tokenizer介紹ORM
- domutils 工具庫的使用方法介紹
- Oracle資料庫審計功能介紹Oracle資料庫
- Blazor 元件庫 BootstrapBlazor 中Editor元件介紹Blazor元件boot
- 資料庫基礎知識介紹!資料庫
- Blazor Bootstrap 元件庫語音元件介紹Blazorboot元件