玩轉(zhuǎn)Java8Stream(IDEA StreamTrace調(diào)試神器)

java的stream編程給調(diào)試帶來(lái)了極大的不便,idea 推出了streamtrace功能,可以詳細(xì)看到每一步操作的關(guān)系、結(jié)果,非常方便進(jìn)行調(diào)試。

初遇StreamTrace

這里簡(jiǎn)單將字符串轉(zhuǎn)成它的字符數(shù),并設(shè)置斷點(diǎn)開(kāi)啟debug模式。

image-20200327164643771

如上圖所示,可以看到每一步操作的元素個(gè)數(shù)、操作的結(jié)果、元素轉(zhuǎn)換前后的對(duì)應(yīng)關(guān),非常清晰明了;還可以查看具體的對(duì)象內(nèi)容。

使用StreamTrace

StreamTrace只有在debug模式下才能使用,當(dāng)在Stream代碼上設(shè)置斷點(diǎn)后,啟動(dòng)debug,點(diǎn)擊流按鈕,如圖所示。

image

點(diǎn)擊后,默認(rèn)Split 模式顯示。

image

可以點(diǎn)擊左下方按鈕切換到FlatMode模式,當(dāng)然也可以再切換回去。

image

實(shí)戰(zhàn)演示

這里演示一段字符轉(zhuǎn)長(zhǎng)度并過(guò)濾長(zhǎng)度小于5的stream操作

@Test
    public void TestTrace() {
        Stream.of("beijing","tianjin","shanghai","wuhan")
                .map(String::length)
                .filter(e->e>5)
                .collect(Collectors.toList());
    }
image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容