2014年5月5日

[訊真科技技術園地] 新的Java寫法 : Java 8 新增的 API

新的Java寫法,好陌生啊~~~



文章轉摘自 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 的寫法就會越來越有優勢。
IntStream 上還有 average()boxed(), 等等有趣的 method,建議可以查查。
眼尖的你發現了嗎? 10_000 和 9_999 含底線的數字。其實這是 Java 7 就有的新功能,因為很少人知道,就再介紹給大家認識一下。

更多內容請看  http://ingramchen.io/blog/2014/04/java-8-new-api-tips.html