通過(guò)IntelliJ IDEA 2016.3 來(lái)更好使用Java 8的Stream API


title: 通過(guò)IntelliJ IDEA 2016.3 來(lái)更好使用Java 8的Stream API
categories: 基礎(chǔ)
tags: Java 8
keywords: Java 8 Streams IDEA


本文展示了IntelliJ IDEA如何幫助編寫正確的和培養(yǎng)使用Java 8的習(xí)慣,版本使用IntelliJ IDEA 2016.3缠劝, 通過(guò)擴(kuò)展了IDEA現(xiàn)有的檢查以支持這些的案例岭洲。

現(xiàn)在钧萍,如果在上面定義的局部變量的循環(huán)遞增中單擊Alt + Enter癣漆,IDE將提示您使用以count()結(jié)尾的一系列steam的鏈?zhǔn)?API調(diào)用來(lái)替換它舌劳。 注意放坏,如果循環(huán)是嵌套的纠脾,IDE將使用flatMap():

如果變量從另一個(gè)方法返回的數(shù)字增加孩哑,IDE將使用mapToInt()/ mapToLong()/ mapToDouble():

如果循環(huán)將非原始對(duì)象添加到集合中栓霜,而不是遞增變量,IDE將用以collect()結(jié)尾的調(diào)用鏈替換它:

如果要添加到集合的對(duì)象是另一種方法的結(jié)果横蜒,IDE將使用map()以慣用的方式處理它:

這些檢查所支持的代碼細(xì)節(jié)多么胳蛮? 相當(dāng)多。 考慮一個(gè)大量使用continue語(yǔ)句的循環(huán):

與continue類似丛晌,IDE也將使用anyMatch()正確處理返回語(yǔ)句:

如果您決定使用這些檢查仅炊,請(qǐng)務(wù)必調(diào)整默認(rèn)代碼樣式設(shè)置,以避免超過(guò)長(zhǎng)方法鏈的右邊距澎蛛。 在此抚垄,你有一個(gè)選擇,根據(jù)你的喜好來(lái)設(shè)置谋逻。

  • 下拉鏈(Chop down chain)方法調(diào)用如果它們很長(zhǎng)(最適合Java 8)
  • 包裝方法( Wrap method )參數(shù)調(diào)用

目前我們正在考慮更改這些默認(rèn)值呆馁。

默認(rèn)情況下啟用檢查,但其檢查級(jí)別設(shè)置為最小 - 這意味著沒(méi)有警告毁兆。 這是IntelliJ IDEA 2016的另一個(gè)新功能浙滤。

您可以在“設(shè)置”中更改任何檢查的級(jí)別:

如果需要,您可以在你選擇的范圍上以批處理模式來(lái)應(yīng)用這些檢查:

我們希望新的檢查將幫助并使你的Java 8代碼寫更加得心應(yīng)手荧恍,并充分利用stream API瓷叫。 那些不熟悉stream API的人屯吊,請(qǐng)務(wù)必閱讀Oracle的教程:第1部分和第2部分。

最后但并非最不重要的摹菠,IDEA還在努力改進(jìn)VCS Log的布局:

  • 提交詳細(xì)信息已移至右側(cè)盒卸,為日志本身提供了更多空間。
  • 表中的提交消息現(xiàn)在對(duì)齊次氨,因此更易讀蔽介。

關(guān)于Java 8 Stream API 的使用,請(qǐng)參考本人的博文:


更多干貨內(nèi)容請(qǐng)關(guān)注:極樂(lè)科技

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末煮寡,一起剝皮案震驚了整個(gè)濱河市虹蓄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌幸撕,老刑警劉巖薇组,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異坐儿,居然都是意外死亡律胀,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門貌矿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)炭菌,“玉大人,你說(shuō)我怎么就攤上這事逛漫『诘停” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵酌毡,是天一觀的道長(zhǎng)克握。 經(jīng)常有香客問(wèn)我,道長(zhǎng)阔馋,這世上最難降的妖魔是什么玛荞? 我笑而不...
    開(kāi)封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮呕寝,結(jié)果婚禮上勋眯,老公的妹妹穿的比我還像新娘。我一直安慰自己下梢,他們只是感情好客蹋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著孽江,像睡著了一般讶坯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上岗屏,一...
    開(kāi)封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天辆琅,我揣著相機(jī)與錄音漱办,去河邊找鬼。 笑死婉烟,一個(gè)胖子當(dāng)著我的面吹牛娩井,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播似袁,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼洞辣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了昙衅?” 一聲冷哼從身側(cè)響起扬霜,我...
    開(kāi)封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎而涉,沒(méi)想到半個(gè)月后著瓶,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡婴谱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年蟹但,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谭羔。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖麦向,靈堂內(nèi)的尸體忽然破棺而出瘟裸,到底是詐尸還是另有隱情,我是刑警寧澤诵竭,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布话告,位于F島的核電站,受9級(jí)特大地震影響卵慰,放射性物質(zhì)發(fā)生泄漏沙郭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一裳朋、第九天 我趴在偏房一處隱蔽的房頂上張望病线。 院中可真熱鬧,春花似錦鲤嫡、人聲如沸送挑。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)惕耕。三九已至,卻和暖如春诫肠,著一層夾襖步出監(jiān)牢的瞬間司澎,已是汗流浹背欺缘。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挤安,地道東北人浪南。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像漱受,于是被迫代替她去往敵國(guó)和親络凿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理昂羡,服務(wù)發(fā)現(xiàn)絮记,斷路器,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,773評(píng)論 6 342
  • 本文采用實(shí)例驅(qū)動(dòng)的方式虐先,對(duì)JAVA8的stream API進(jìn)行一個(gè)深入的介紹怨愤。雖然JAVA8中的stream AP...
    浮梁翁閱讀 25,723評(píng)論 3 50
  • 滿地桃花搖春鳳 春光明媚,草木吐綠蛹批,正是桃花盛開(kāi)時(shí)撰洗,我背上照相機(jī)踏上了“春游”“賞花”之路。 來(lái)到故鄉(xiāng)小張塢村外腐芍,...
    夢(mèng)與七鹿閱讀 292評(píng)論 0 0
  • 沉默了 回首之后 外面的雨 畫上一筆寫意的美好 我不知道什么時(shí)候已經(jīng)入春 但此刻 但愿已經(jīng)蘇醒 但愿世界開(kāi)啟心窗 ...
    亦之游閱讀 143評(píng)論 0 2