1. 程式人生 > 其它 >IntelliJ IDEA中如何優雅的除錯Java Stream操作

IntelliJ IDEA中如何優雅的除錯Java Stream操作

Stream操作是Java 8推出的一大亮點!雖然java.util.stream很強大,但依然還是有很多開發者在實際工作中很少使用,其中吐槽最多的一個原因就是不好除錯,一開始確實是這樣,因為stream這樣的流式操作在DEBUG的時候,是一行程式碼,直接下一步的時候,其實一下就過去了好多操作,這樣我們就很難判斷到底是裡面的哪一行出了問題。不過,現在的話,在強大的IDEA外掛支援下,stream的除錯其實也沒那麼難了,下面就來學習一下在IDEA中如何除錯stream操作吧。

外掛:Java Stream Debugger

如果你用的IDEA版本比較新的話,這個外掛已經是自帶的了,就不需要安裝了。如果還沒安裝的話,就手工安裝一下,然後繼續下面的操作。

本文收錄在了我正在連載的《玩轉IDEA專欄》,該系列該用電子書的方式編寫,如果想要沉浸式閱讀學習的話,可以訪問Web版本:https://www.didispace.com/idea-tips/

除錯Stream操作

視訊演示:點選這裡檢視

先來看下面這樣的這段程式碼:

public class StreamTest {

    @Test
    void test() {
        List<String> list = List.of("blog.didispace.com", "spring4all.com", "openwrite.cn", "www.didispace.com");

        List<String> result = list.stream()
                .filter(e -> e.contains("didispace.com"))
                .filter(e -> e.length() > 17)
                .toList();

        System.out.println(result);
    }

}

這段程式碼的邏輯是通過stream去過濾list集合中的元素,由於有兩個filter,所以當出現問題的時候,可能不知道具體是哪個filter中出了問題。

藉助強大的IDEA,我們在遇到stream的時候,只需要點選下圖中的按鈕:

此時會彈出一個Stream操作的跟蹤視窗:

該視窗中的標籤就是這個stream操作的每一步,我們可以通過點選標籤去檢視每一步執行前和執行後的結果去判斷這裡的filter是否執行正確。

是不是一下感覺簡單了很多呢?好了,今天的分享就到這裡,如果你還沒有用過這個除錯功能的話, 趕緊開啟IDEA試一試吧!如果您學習過程中如遇困難?可以加入我們超高質量的技術交流群,參與交流與討論,更好的學習與進步!

歡迎關注我的公眾號:程式猿DD。第一時間瞭解前沿行業訊息、分享深度技術乾貨、獲取優質學習資源