上周, 我們談論了關於Java8的新特性有那些, 什麼是函數式編程, 什麼是Lambda表達式, 這周讓我們繼續談論這些新特性.本周, 我們會聊一下什麼是Stream API, 以及什麼是Optional."Stream API你讓我想重寫我以前的所有代碼","使用Optional讓你的應用從此不再... ...
本人博客文章網址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome-2/
前言
上周, 我們談論了關於Java8的新特性有那些, 什麼是函數式編程, 什麼是Lambda表達式, 這周讓我們繼續談論這些新特性.
本周, 我們會聊一下什麼是Stream API, 以及什麼是Optional.
Stream API你讓我想重寫我以前的所有代碼
"Stream API你讓我想重寫我以前的所有代碼", 為什麼我會說出這樣的一句話呢, 因為當你使用了Stream API之後, 以前可能需要一個以及多個for迴圈或for-each迴圈才能完成的工作現在只需要一行就完成了.
以前對集合類型進行多線程操作可能需要註意很多地方, 但是現在你需要打開一個開關, 就可以令你對集合類型的操作的效率提升了許多倍.
以前可能還要顧及許多地方, 現在你只需要關註你要實現的邏輯, 剩餘的就交給Java8本身吧.
以前可能你要說明是如何操作的, 代碼閱讀性也不高, 現在你的代碼能直接讓人"看的懂"而不需要任何註釋.
使用了Optional讓你的應用從此不再發生空指針異常
Optional, 是一個泛型類, 表示這個對象是否存在, 可使用API來判斷是否為空.
引用Java8 In Action--"
使用Optional會迫使你更積極地解引用Optional對象,以應對變數值缺失的問題, 最終, 你能更有效地防止代碼中出現不期而至的空指針異常.
使用Optional能幫助你設計更好的API, 用戶只需要閱讀方法簽名, 就能瞭解該方法是否接受一個 Optional 類型的值."
以上就是我使用Java8一段時間得出的心的, 個人觀點僅供參考.
Pere Tang. 0am on July 15, 2017
參考