日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
IntelliJIDEA調(diào)試Java8,實(shí)在太香了

前段時(shí)間,棧長(zhǎng)發(fā)布了一篇關(guān)于 Java 8 Optional.map 的實(shí)用文章,留言區(qū)就有的人說(shuō) Java 8 的語(yǔ)法糖不方便調(diào)試,還要視情況使用。

留言區(qū)也有人說(shuō) IntelliJ IDEA 早已支持 Java 8 Stream 調(diào)試,因?yàn)槲移綍r(shí)也很少調(diào)試,那么我就以 IntelliJ IDEA 來(lái)演示下如何調(diào)試 Java 8 中的 Stream 鏈?zhǔn)秸{(diào)用吧。

先寫(xiě)一段 Java 8 Stream 示例:

 
 
 
  1. /* 
  2. * 來(lái)源:Java技術(shù)棧  
  3. */ 
  4. public static void main(String[] args) { 
  5.     Stream.of(100, 200, 300, 400, 500) 
  6.             .mapToLong(e -> e * 10) 
  7.             .filter(e -> e > 2000) 
  8.             .forEach(System.out::println); 

這里只演示了一種 Stream 創(chuàng)建方式,Java 8 創(chuàng)建 Stream 的 10 種方式請(qǐng)點(diǎn)擊這里進(jìn)行閱讀。

這個(gè)程序是先構(gòu)建一個(gè) 5 個(gè)數(shù)字的 Stream, 然后再對(duì)每個(gè)數(shù)字 * 10,再篩選出大于 2000 的數(shù)字進(jìn)行打印。

如何調(diào)試每個(gè)鏈?zhǔn)秸{(diào)用的過(guò)程呢?

先在第一行打個(gè)斷點(diǎn),然后進(jìn)入調(diào)試模式運(yùn)行,當(dāng)斷點(diǎn)進(jìn)入時(shí),點(diǎn)擊調(diào)試窗口的 Trace Current Stream Chain 按鈕:

然后自動(dòng)進(jìn)入當(dāng)前 Stream 跟蹤調(diào)試窗口,上面會(huì)展示每個(gè)鏈?zhǔn)秸{(diào)用的選項(xiàng)卡,點(diǎn)擊各個(gè)選項(xiàng)卡可以看對(duì)應(yīng)每步的跟蹤結(jié)果。

如下面所示:

也可以點(diǎn)擊左下角的 Flat Mode 進(jìn)入扁平模式,一次性展示所有跟蹤結(jié)果:

OK,Java 8 Stream 的調(diào)試不是問(wèn)題了, 但我并沒(méi)有找到像 Optional 鏈?zhǔn)秸{(diào)用的調(diào)試方式。

比如下面一段 Optional 示例:

 
 
 
  1. /* 
  2. * 來(lái)源:Java技術(shù)棧  
  3. */ 
  4. public static void main(String[] args) { 
  5.     String string = Optional.of("hi,") 
  6.             .map(e -> e + "Java") 
  7.             .map(e -> e + "技術(shù)") 
  8.             .map(e -> e + "棧").get(); 
  9.     System.out.println(string); 

調(diào)試如圖所示:

可惜,Trace Current Stream Chain 按鈕是灰色狀態(tài),不能進(jìn)入,因?yàn)槟莻€(gè)按鈕只能被 Stream 調(diào)試所用。

那像這種非 Stream 鏈?zhǔn)秸{(diào)用怎么調(diào)試呢?

斷點(diǎn)進(jìn)入后,可以選中需要調(diào)試的部分鏈?zhǔn)酱a片斷,然后右鍵選中 Evaluate Expression 菜單(ALT + F8)進(jìn)入表達(dá)式計(jì)算窗口:

點(diǎn)擊 Evaluate 按鈕開(kāi)始計(jì)算:

計(jì)算無(wú)誤,該表達(dá)式還可以自由編輯,非常強(qiáng)大。


分享文章:IntelliJIDEA調(diào)試Java8,實(shí)在太香了
鏈接URL:http://www.dlmjj.cn/article/cosoegs.html