java的stream編程給調試帶來了極大的不便,idea 推出了streamtrace功能,可以詳細看到每一步操作的關係、結果,非常方便進行調試。
初遇StreamTrace
這裏簡單將字符串轉成它的字符數,並設置斷點開啓debug模式。
如上圖所示,可以看到每一步操作的元素個數、操作的結果、元素轉換前後的對應關,非常清晰明瞭;還可以查看具體的對象內容。
使用StreamTrace
StreamTrace只有在debug模式下才能使用,當在Stream代碼上設置斷點後,啓動debug,點擊流按鈕,如圖所示。
點擊後,默認Split 模式顯示。
可以點擊左下方按鈕切換到FlatMode模式,當然也可以再切換回去。
實戰演示
這裏演示一段字符轉長度並過濾長度小於5的stream操作
@Test
public void TestTrace() {
Stream.of("beijing","tianjin","shanghai","wuhan")
.map(String::length)
.filter(e->e>5)
.collect(Collectors.toList());
}