文章轉摘自 http://ingramchen.io/blog/2014/04/java-8-new-api-tips.html
本文介紹 Java 8 新增的 API,以及使用的技巧,內容大多環繞在 Stream/Lambda API 上,不過這一篇並不是 Stream/Lambda 的教學。建議先練習運用 Stream 一下,再來看本文比較好吸收。
For loop with index
//Java 8 之前原本的寫法
for (int i = 0 ; i < 10000 ; i++) {
System.out.print(i);
}
//Java 8 新的寫法
IntStream.range(0, 10_000).forEach(i -> System.out.print(i));
IntStream.rangeClosed(0, 9_999).forEach(i -> System.out.print(i));
第一題是最常見的 for loop,改成用 IntStream.range()。新的寫法肯定是耗較多的資源的,但除非是很特別的運算,不然是沒什麼差。採用 IntStream 的寫法很容易就是一行搞定,有別於原來的三行,也不用管
i
的那些 加加減減和大於小於。而且等到 loop 裡面開始加上邏輯,使用 Stream 的寫法就會越來越有優勢。
眼尖的你發現了嗎?
10_000
和 9_999
含底線的數字。其實這是 Java 7 就有的新功能,因為很少人知道,就再介紹給大家認識一下。
更多內容請看 http://ingramchen.io/blog/2014/04/java-8-new-api-tips.html