偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了

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

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

IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了

留言區(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)用吧。

先寫一段 Java 8 Stream 示例:

  1. /* 
  2. * 來(lái)源:Java技術(shù)棧  
  3. */ 
  4. public static void main(String[] args) { 
  5.     Stream.of(100200300400500
  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 按鈕:

IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了

然后自動(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é)果。

如下面所示:

IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了
IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了
IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了

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

IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了

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)試如圖所示:

IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了

可惜,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ì)算窗口:

IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了
IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了

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

IntelliJ IDEA 調(diào)試 Java 8,實(shí)在太香了

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

 

 

責(zé)任編輯:張燕妮 來(lái)源: 今日頭條
相關(guān)推薦

2025-04-25 08:11:29

2023-11-09 08:01:41

Spring緩存注解

2020-10-12 07:30:31

Chrome下載

2021-04-17 07:40:01

N卡驅(qū)動(dòng)應(yīng)用NVCleanstal

2021-05-30 07:16:43

Edge 91 微軟瀏覽器

2020-04-13 07:30:18

Windows 10Windows操作系統(tǒng)

2025-08-15 12:19:08

2023-10-20 09:04:08

JavaScript語(yǔ)言Java

2021-03-20 07:20:49

Windows10操作系統(tǒng)微軟

2024-01-05 13:26:00

KafkaTopicSpring

2024-01-26 07:48:10

SpringKafka提升

2025-04-29 02:50:00

IntelliJIDEA遠(yuǎn)程調(diào)試

2021-07-28 14:20:13

正則PythonFlashText

2020-11-05 07:52:40

Chrome

2023-11-07 10:36:37

2025-08-29 00:00:00

2020-12-02 16:40:00

微信新功能移動(dòng)應(yīng)用

2025-01-09 11:24:59

線程池美團(tuán)動(dòng)態(tài)配置中心

2025-09-04 09:33:29

2025-09-04 09:13:22

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)