IntelliJ IDEA中如何調(diào)試Java Stream操作
Stream操作是Java 8推出的一大亮點!雖然java.util.stream很強大,但依然還是有很多開發(fā)者在實際工作中很少使用,其中吐槽最多的一個原因就是不好調(diào)試,一開始確實是這樣,因為stream這樣的流式操作在DEBUG的時候,是一行代碼,直接下一步的時候,其實一下就過去了好多操作,這樣我們就很難判斷到底是里面的哪一行出了問題。不過,現(xiàn)在的話,在強大的IDEA插件支持下,stream的調(diào)試其實也沒那么難了,下面就來學習一下在IDEA中如何調(diào)試stream操作吧。
插件:Java Stream Debugger

如果你用的IDEA版本比較新的話,這個插件已經(jīng)是自帶的了,就不需要安裝了。如果還沒安裝的話,就手工安裝一下,然后繼續(xù)下面的操作。
本文收錄在了我正在連載的《玩轉(zhuǎn)IDEA專欄》,該系列該用電子書的方式編寫,如果想要沉浸式閱讀學習的話,可以訪問Web版本:https://www.didispace.com/idea-tips/

調(diào)試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,所以當出現(xiàn)問題的時候,可能不知道具體是哪個filter中出了問題。
借助強大的IDEA,我們在遇到stream的時候,只需要點擊下圖中的按鈕:

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

該窗口中的標簽就是這個stream操作的每一步,我們可以通過點擊標簽去查看每一步執(zhí)行前和執(zhí)行后的結果去判斷這里的filter是否執(zhí)行正確。
到此這篇關于IntelliJ IDEA中如何調(diào)試Java Stream操作的文章就介紹到這了,更多相關idea調(diào)試Java Stream操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
springboot關閉druid監(jiān)控 druid2改配置文件無效的解決
這篇文章主要介紹了springboot關閉druid監(jiān)控 druid2改配置文件無效的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
Java利用opencv實現(xiàn)用字符展示視頻或圖片的方法
這篇文章主要介紹了Java利用opencv實現(xiàn)用字符展示視頻或圖片的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
詳解Spring MVC攔截器實現(xiàn)session控制
這篇文章主要介紹了詳解Spring MVC攔截器實現(xiàn)session控制,使用session監(jiān)聽,重復登錄后,強制之前登錄的session過期。有興趣的可以了解一下。2017-01-01
SpringBoot2.0解決Long型數(shù)據(jù)轉(zhuǎn)換成json格式時丟失精度問題
這篇文章主要介紹了SpringBoot2.0解決Long型數(shù)據(jù)轉(zhuǎn)換成json格式時丟失精度問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
Java并發(fā)編程 interrupt()方法示例詳解
interrrupt()方法可以用來打斷正在運行的線程,也可以打斷sleep()、wait()、join()情況下的線程,但是這些情況下被打斷線程的打斷標記不同,這篇文章主要介紹了Java并發(fā)編程 interrupt()方法示例詳解,需要的朋友可以參考下2023-06-06
使用proguard對maven構建的springboot項目進行混淆方式
文章介紹了如何使用ProGuard對Maven構建的Spring Boot項目進行混淆,并解決混淆后可能遇到的版本兼容性問題和類名沖突問題,主要步驟包括下載高版本的ProGuard、配置POM文件、添加ProGuard配置文件、修改Spring Boot啟動文件以避免類名沖突2024-11-11

