成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Java8Stream不好用?如何通過IntelliJIDEA提升擼碼效率

目錄

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)、犍為網(wǎng)絡(luò)推廣、微信小程序開發(fā)、犍為網(wǎng)絡(luò)營銷、犍為企業(yè)策劃、犍為品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供犍為建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:jinyejixie.com

Java8 Stream API 的不友好性

借助 IntelliJ IDEA 來優(yōu)化一下

2.1 新建 Stream Live Templates

2.2 順手把其他常用的模板設(shè)置一下

Java8 Stream API 的不友好性

Java8 自 2014 年 3 月發(fā)布以來,已經(jīng)過去很多個年頭了。在公司內(nèi)部也已逐漸將所有的生產(chǎn)代碼遷移到這個版本。遷移中主要所做的工作就是將代碼庫更新為 lambda 表達(dá)式,Stream 流和新的日期 API。另外還使用 Nashorn 動態(tài)編寫那些可能在運行時需要被更改的功能。

除了 lambda 表達(dá)式外,最常用的一個功能就是新的 Stream API 了,它可以被用來很方便地操作集合。此外,Stream 還可以很大的提高集合操作相關(guān)代碼的可讀性。

但是,關(guān)于 Stream 流, 有一件事真的讓我很困擾!

在使用 Stream 流時,類似reduce和findFirst這樣的終端操作,語義都是簡單明了,也很直接,我們無需再額外傳參。

而另一類我們使用比較多的終端操作:collect用起來就很繁瑣了,如我們要轉(zhuǎn)換成List的時候,我們的寫法一般是這樣的:.collect(Collectors.toList())。

例如,下面這段代碼對字符串集合進(jìn)行過濾,并轉(zhuǎn)成一個新的集合:

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

又比如,我們要轉(zhuǎn)換成Set的時候,需要寫成這樣:.collect(Collectors.toSet()),還有joining和groupingBy之類。

在我完成對 30 萬行代碼steam流的遷移后,我總結(jié)了一下,toList,toSet和groupingBy是我們項目目前最常用的終端操作。我無法理解 JDK 的設(shè)計者們?yōu)槭裁床粚ollect方法再簡化一下,以讓它更人性化一些,比如同樣的一段代碼,為什么不設(shè)計成下面這樣:

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

因為沒有設(shè)計成這樣,導(dǎo)致我們在代碼中不得不一遍又一遍地使用Collectors.toXXX, 這就煩躁了。

借助IDEA優(yōu)化一下

IntelliJ IDEA 號稱宇宙最智能 Java IDE, 看看我們?nèi)绾瓮ㄟ^它來解決這個愁人的問題。

IntelliJ IDEA 附帶了一個名為LiveTemplates(實時模板) 的便捷功能。這是個啥玩意?即使您還不知道它是什么, 但是你也一定經(jīng)常使用到它。比如輸入常用代碼段的快捷方式sout,IDEA 會插入代碼段System.out.println()。又比如,輸入psvm, IDEA 會快速幫您生成main方法等。

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

哦,就這玩意?

那要怎么通過LiveTemplates(實時模板) 來解決前面提到的痛點呢?

1 新建 Stream Live Templates

1.按步驟打開File -> Setting -> Editor -> LiveTemplates:

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

2.新建一個Template Group, 取名為Stream:

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

3.創(chuàng)建完成后,選中 Stream, 新建一個實時模板:

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

4.創(chuàng)建一個toList代碼片段模板:

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

注意:代碼片段的上下文選Java->other.

5.設(shè)置完成后,讓我們在實戰(zhàn)中看下效果吧!

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

2 順手把其他常用的模板設(shè)置一下

除了上面演示的toList外,toSet,groupingBy和join使用也相當(dāng)普遍,我們也來設(shè)置一下,方法與上面大同小異,這里就不一一貼圖了,貼上代碼片段內(nèi)容:
Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

PS: 特殊變量$END$用來在代碼片段生成后,確定光標(biāo)位置,這樣你就可以直接輸入相關(guān)代碼了,比如,定義join連接分隔符等。

模板都創(chuàng)建好了以后,截圖如下:

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

最后,我們再來看看,join和groupBy的使用效果圖:
Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

Java8 Stream不好用?如何通過 IntelliJ IDEA 提升擼碼效率

網(wǎng)頁題目:Java8Stream不好用?如何通過IntelliJIDEA提升擼碼效率
新聞來源:http://jinyejixie.com/article16/gdhodg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)移動網(wǎng)站建設(shè)、云服務(wù)器、Google、做網(wǎng)站、網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
海安县| 景洪市| 扶风县| 乾安县| 南木林县| 慈利县| 定兴县| 盖州市| 上犹县| 上犹县| 富阳市| 神池县| 四子王旗| 承德市| 鹿泉市| 左贡县| 齐河县| 靖江市| 乌拉特中旗| 长汀县| 酉阳| 上蔡县| 天津市| 龙山县| 芷江| 福安市| 凯里市| 昌江| 建始县| 阜康市| 定远县| 桑植县| 巴青县| 秦皇岛市| 禹州市| 固原市| 米脂县| 海盐县| 永嘉县| 洮南市| 青河县|