日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Guavate:桥接Guava和Java8的微型库

發(fā)布時(shí)間:2023/12/3 java 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Guavate:桥接Guava和Java8的微型库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Java8很棒,并向JDK添加了一些有用的抽象,這些抽象通過(guò)Google出色的Guava commons庫(kù)在Java社區(qū)中得到了普及。 小組討論表明, 不久將有一個(gè)需要Java 8的Guava版本,從而彌合了Guava和Java8之間的鴻溝。 但是,直到這樣的時(shí)候,我們其余使用Guava + Java8的人都需要一個(gè)很小的填充庫(kù)來(lái)處理諸如Collector實(shí)現(xiàn)之類的東西,這些東西會(huì)產(chǎn)生Guava Immutable集合。

與往常一樣, 斯蒂芬· 科爾本( Stephen Colebourne)恰好把這樣一個(gè)很小的實(shí)用程序類放在一起 : 不幸的是,它被埋在Strata內(nèi)部,對(duì)于我所有的項(xiàng)目,我都不想僅僅依靠Strata來(lái)達(dá)到這一小巧的目的。 另外,我本人也有一些Java8填充方法可以使用家。 因此, 我分叉了Colebourne的Guavate,并將其發(fā)布給Maven Central,供其他任何想要將此小巧的填充庫(kù)添加到其Java8項(xiàng)目中的人使用:

<dependency><groupId>com.github.steveash.guavate</groupId><artifactId>guavate</artifactId><version>1.0.0</version> </dependency>

每個(gè)不可變集合都有收集器實(shí)現(xiàn):

List<String> inputs = Lists.newArrayList("a", "b", "c"); ImmutableSet<String> outputs = inputs.stream().map(String::toUpperCase).filter(it -> !it.startsWith("b")).collect(Guavate.toImmutableSet()); // outputs is an immutable set of "a" and "c"

還有一些方便的方法可以從Map.Entry(以及實(shí)現(xiàn)了Entry的Common-Lang3的Pair)中收集地圖:

Map<String, Integer> inputs = ImmutableMap.of("bob", 1, "jon", 2, "mary", 3 ); Map<String,Integer> outputs = inputs.entrySet().stream().map(e -> Pair.of(e.getKey().toUpperCase(), e.getValue())).collect(Guavate.entriesToMap()); // outputs is a map of BOB:1, JON:2, MARY:3

將任意可迭代對(duì)象轉(zhuǎn)換為流(首先應(yīng)該在JDK中):

Iterable<String> values = // ... Stream<String> streamVals = Guavate.stream(values);

并將Optional轉(zhuǎn)換為零或一個(gè)元素的流:

Optional<String> maybe = // ... Stream<String> stream = Guavate.stream(maybe);

檢出GitHub項(xiàng)目頁(yè)面以跟蹤更新或提交帶有您自己的Java8附加件的拉取請(qǐng)求:

  • https://github.com/steveash/guavate

翻譯自: https://www.javacodegeeks.com/2016/07/guavate-tiny-library-bridging-guava-java8.html

總結(jié)

以上是生活随笔為你收集整理的Guavate:桥接Guava和Java8的微型库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。