Java8 的一些新特性

最近看了《寫給大忙人看的java se 8》這本書,簡單的記錄一下讀后感和總結(jié)。
由于本人不做Java GUI 方面的工作,于是第4章種JavaFX直接跳過。

1.lambda 表達(dá)式。

這是java 種給出的最新特性,在最近的開發(fā)者也是相當(dāng)火的一項技能。
語法特性

語法格式:參數(shù)->表達(dá)式

<pre>
來看幾個例子
1.無參數(shù)
()->{System.out.println("Hello Lambda");};
()->function();
2.攜帶參數(shù)
String result = (String first,String second)->{first+second};
//永遠(yuǎn)不需要為lambda表達(dá)式執(zhí)行返回類型,它會根據(jù)上下文進(jìn)行推導(dǎo)出來。
</pre>

方法引用

<pre>
1.對象::實例方法
2.類:: 靜態(tài)方法
(x,y)->Math.pow(x,y) == Math::pow;
3.類::實例方法
String::compareToIgnoreCase
</pre>

Stream API

針對stream 的看法,是一種鏈?zhǔn)浇Y(jié)構(gòu)操作,針對集合或者一些數(shù)據(jù)進(jìn)行一系列操作,改變,轉(zhuǎn)換,過濾,聚合等操作。
<pre>
Stream<Data> data = ...;
Stream<Result> result = data.
filter().
map().
flatMap()
limit()
peek();
......
并行操作一般都是以前綴parallel()進(jìn)行命名
</pre>

新的時間API

java.time種的時間進(jìn)行加強(qiáng)。
LocalDateTime 沒有時區(qū)信息。
Instant 代替了原來的Date

原子值

java8 加強(qiáng)了并發(fā)處理,java.util.concurrent.atomic 包提供了用于支持無鎖可變變量的類。

其他改進(jìn)

1.字符串分割連接
a+","+b+","+c = String.join(",",a,b,c);
2.Math.floorMod(x,n) = x %n;
3.集合
Interable--forEach
Collection -- removeIf
List -- replaceAll,sort
Map -- forEach,replace,replaceAll,remove

java 7 中一些特性

1.try -with-resources 來自動關(guān)閉流操作資源。
2.object.equals(a,b).

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,819評論 18 399
  • 原鏈接:http://www.cnblogs.com/langtianya/p/3757993.html JDK各...
    把愛放下會走更遠(yuǎn)閱讀 1,219評論 0 10
  • 好久好久,都沒今天下午的感覺,那種感覺太過壓抑,感覺像是久未爆發(fā)的火山,事情有點多,壓的自己差點喘不過氣來,從小記...
    高先seng閱讀 168評論 0 0
  • 你走了 在一個纏綿的午后 在愛人注目下遠(yuǎn)行 你說 想了 就忍著 累了 就歇著 字字珠璣 融入肺腑 那個清晨 一個人...
    冰雪梅子閱讀 219評論 0 2

友情鏈接更多精彩內(nèi)容