溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

IntelliJ?IDEA中怎么調(diào)試Java?Stream操作

發(fā)布時(shí)間:2022-05-24 09:16:36 來源:億速云 閱讀:123 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了IntelliJ IDEA中怎么調(diào)試Java Stream操作的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇IntelliJ IDEA中怎么調(diào)試Java Stream操作文章都會(huì)有所收獲,下面我們一起來看看吧。

Stream操作是Java 8推出的一大亮點(diǎn)!雖然java.util.stream很強(qiáng)大,但依然還是有很多開發(fā)者在實(shí)際工作中很少使用,其中吐槽最多的一個(gè)原因就是不好調(diào)試,一開始確實(shí)是這樣,因?yàn)閟tream這樣的流式操作在DEBUG的時(shí)候,是一行代碼,直接下一步的時(shí)候,其實(shí)一下就過去了好多操作,這樣我們就很難判斷到底是里面的哪一行出了問題。

插件:Java Stream Debugger

IntelliJ?IDEA中怎么調(diào)試Java?Stream操作

如果你用的IDEA版本比較新的話,這個(gè)插件已經(jīng)是自帶的了,就不需要安裝了。如果還沒安裝的話,就手工安裝一下,然后繼續(xù)下面的操作。

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

IntelliJ?IDEA中怎么調(diào)試Java?Stream操作

調(diào)試Stream操作

視頻演示:點(diǎn)擊這里查看

先來看下面這樣的這段代碼:

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集合中的元素,由于有兩個(gè)filter,所以當(dāng)出現(xiàn)問題的時(shí)候,可能不知道具體是哪個(gè)filter中出了問題。

借助強(qiáng)大的IDEA,我們在遇到stream的時(shí)候,只需要點(diǎn)擊下圖中的按鈕:

IntelliJ?IDEA中怎么調(diào)試Java?Stream操作

此時(shí)會(huì)彈出一個(gè)Stream操作的跟蹤窗口:

IntelliJ?IDEA中怎么調(diào)試Java?Stream操作

該窗口中的標(biāo)簽就是這個(gè)stream操作的每一步,我們可以通過點(diǎn)擊標(biāo)簽去查看每一步執(zhí)行前和執(zhí)行后的結(jié)果去判斷這里的filter是否執(zhí)行正確。

關(guān)于“IntelliJ IDEA中怎么調(diào)試Java Stream操作”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“IntelliJ IDEA中怎么調(diào)試Java Stream操作”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI