語法糖,也叫糖衣語法 指的是計算機中 新增某種語法 這種語法 ,能使程式設計師更加方便的使用語言開發程式,同時,增強了**的可讀性避免了出錯的機會,但是,這種語法對於語言的功能並且有增強 例如: 泛型 自動裝箱拆箱 增強for迴圈
基本格式:(引數列表)-> () 形參列表 0個或者n個
當乙個介面中,只包含乙個方法時,該介面是函式介面。只有是函式介面,才可以使用lamda表示式替換 格式:()->{}1.執行緒中的引用1.(引數列表)->表示式 省略花括號,return都不能有
2.形參列表的型別宣告名可省略
3.當形參列表是乙個時,小括號可省略
4.如果表示式是單一表示式,可以省略return
2. foreach方法在集合中的使用(iterable)
list集合(jdk1.8後出現了自己的sort方法)3.map集合
方法引用(method reference) 是lamda的簡寫形式 呼叫乙個已經存在的方法當需要引用的方法涉及到其他型別的引數是,不可以使用
語法 : 左邊是容器 中間:: 右邊 呼叫的方法名
1.非靜態方法呼叫 物件名::方法名
2.靜態方法呼叫 類名::方法名
3.構造方法呼叫 類名::new
final 修飾符可以省略jdk1.8允許介面有靜態修飾的方法 預設方法(沒有要求一定要重寫)若重寫default 方法,只能用public 修飾 修飾符不可以混合使用新增一些處理時間問題的專門類
localdate
不帶時間的日期 年月日
localtime
不帶日期的時間 時分秒
localdatetime
包含了日期與時間 不包含時區
zonedatetime
包含了日期與時間 不包含時區和inputstream/outputstream 沒有關係 和iterator相似 stream表示能夠應用在一組元素上一次執行的操作序列 提供了很多lamda表示式
jdk1 8新特性之Optional
data public class skuvo data public class price有乙個sku物件,裡面包含乙個skuid和乙個price物件,price物件裡面有市場價和成本價。假如現在有個需求,獲取sku裡面的mallprice,並且返回。毫無疑問,npe相信每個程式設計師都不可能沒...
JDK1 8的新特性
jdk1.8之前的介面不可以有方法體,但從jdk1.8開始,介面中的方法可以帶有方法體為什麼要新增這個特性?介面就是為了定義乙個標準,這個標準要求所有的實現類實現這些抽象方法。但存在某些方法,所有的實現類 都是一樣的,索性就把這些 挪到介面中。使用的方法?通過default來修飾這個方法public...
JDK1 8新特性簡介
可以用static default來定義介面方法 用default來定義普通方法,這樣子類就不用強制覆寫這個方法了。用static來定義靜態方法 專給lanmda使用的介面加上annotation functionalinte ce 其中只能有乙個方法 使用 引數 程式執行語句 引數 簡單返回 引數...