自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

IntelliJ IDEA 調試 Java 8,實在太香了

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

前段時間,棧長發(fā)布了一篇關于 Java 8 Optional.map 的實用文章,留言區(qū)就有的人說 Java 8 的語法糖不方便調試,還要視情況使用。

IntelliJ IDEA 調試 Java 8,實在太香了

留言區(qū)也有人說 IntelliJ IDEA 早已支持 Java 8 Stream 調試,因為我平時也很少調試,那么我就以 IntelliJ IDEA 來演示下如何調試 Java 8 中的 Stream 鏈式調用吧。

先寫一段 Java 8 Stream 示例:

  1. /* 
  2. * 來源:Java技術棧  
  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 種方式請點擊這里進行閱讀。

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

如何調試每個鏈式調用的過程呢?

先在第一行打個斷點,然后進入調試模式運行,當斷點進入時,點擊調試窗口的 Trace Current Stream Chain 按鈕:

IntelliJ IDEA 調試 Java 8,實在太香了

然后自動進入當前 Stream 跟蹤調試窗口,上面會展示每個鏈式調用的選項卡,點擊各個選項卡可以看對應每步的跟蹤結果。

如下面所示:

IntelliJ IDEA 調試 Java 8,實在太香了
IntelliJ IDEA 調試 Java 8,實在太香了
IntelliJ IDEA 調試 Java 8,實在太香了

也可以點擊左下角的 Flat Mode 進入扁平模式,一次性展示所有跟蹤結果:

IntelliJ IDEA 調試 Java 8,實在太香了

OK,Java 8 Stream 的調試不是問題了, 但我并沒有找到像 Optional 鏈式調用的調試方式。

比如下面一段 Optional 示例:

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

調試如圖所示:

IntelliJ IDEA 調試 Java 8,實在太香了

可惜,Trace Current Stream Chain 按鈕是灰色狀態(tài),不能進入,因為那個按鈕只能被 Stream 調試所用。

那像這種非 Stream 鏈式調用怎么調試呢?

斷點進入后,可以選中需要調試的部分鏈式代碼片斷,然后右鍵選中 Evaluate Expression 菜單(ALT + F8)進入表達式計算窗口:

IntelliJ IDEA 調試 Java 8,實在太香了
IntelliJ IDEA 調試 Java 8,實在太香了

點擊 Evaluate 按鈕開始計算:

IntelliJ IDEA 調試 Java 8,實在太香了

計算無誤,該表達式還可以自由編輯,非常強大。

 

 

責任編輯:張燕妮 來源: 今日頭條
相關推薦

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卡驅動應用NVCleanstal

2020-04-13 07:30:18

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

2021-05-30 07:16:43

Edge 91 微軟瀏覽器

2023-10-20 09:04:08

JavaScript語言Java

2021-03-20 07:20:49

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

2025-04-29 02:50:00

IntelliJIDEA遠程調試

2024-01-05 13:26:00

KafkaTopicSpring

2024-01-26 07:48:10

SpringKafka提升

2020-12-02 16:40:00

微信新功能移動應用

2020-11-05 07:52:40

Chrome

2023-11-07 10:36:37

2021-07-28 14:20:13

正則PythonFlashText

2020-05-25 15:40:23

IntelliJ IDEclipse強Java

2013-06-07 10:18:00

EclipseIntelliJ ID

2021-08-31 09:39:06

Python數(shù)據(jù)工具

2014-11-12 10:10:09

國產(chǎn)操作系統(tǒng)

2020-12-21 07:36:15

緩存數(shù)據(jù)庫緩存層
點贊
收藏

51CTO技術棧公眾號