lambda的無參形式
public
class
test2})
.start()
;//lambda表示式建立執行緒
newthread((
)->system.out.
println
(thread.
currentthread()
.getname()
)).start()
;}}
上面分別通過匿名內部類和lambda表示式建立了兩個執行緒。
lambda的有參形式:
list
arr = arrays.
aslist(1
,6,2
,8,4
,3,10
,9);
//lambda形式實現comparator介面的實現,自定義排序方式(降序)
collections.
sort
(arr,
(a, b)
->);
//匿名內部類形式實現上一行**功能
collections.
sort
(arr,
newcomparator
()})
;
可見使用lambda方式要簡潔得多。省去了泛型、引數資料型別、介面名、方法名等書寫,而這些編譯器會自動為我們新增上。
lambda與匿名內部類區別:
總體來說lambda的侷限性更多,使用的地方有限
匿名內部類與Lambda表示式
1.特徵上 沒有名字 2.實現上 既可以擴充套件類,也可以實現介面,但是不能兩者兼備 3.限制上 如果實現介面,只能實現乙個介面 4.功能上 簡化 符合優先使用類而不是介面的設計思想 舉例 description service介面 inte ce service description servi...
內部類,Lambda表示式
內部類定義格式 內部類的訪問特點 示例 內部類訪問特點 內部類可以直接訪問外部類的成員,包括私有 外部類要訪問內部類的成員,必須建立物件 public class outer public void method 外界建立成員內部類格式 私有成員內部類 靜態成員內部類 區域性內部類方式方式 示例 c...
內部類,lambda表示式
在乙個類中定義乙個類.分類 成員內部類 在類的成員位置 區域性內部類 在類的區域性位置 例子 成員內部類 public class test1inner class outer 成員內部類 概述 定義在類中方法之外的內部類.私有成員內部類訪問 private 在自己所在的外部類中建立物件訪問.sta...