(params)->expression[表示式]
(params)->statement[語句]
(params)->
定義:任何介面,如果只包含乙個唯一乙個抽象方法,那麼他就是乙個函式式介面
對於函式式介面,我們可以通過lambda表示式來建立該介面的物件
package com.faq.lambda;
/*推導lambda表示式
*/public
class
testlambda1
}public
static
void
main
(string[
] args)
} like =
newlike3()
; like.
lambda()
;//5、匿名內部類,沒有類的名稱,必須借助介面或者父親
like =
newilike()
};like.
lambda()
;//6、用lambda簡化
like =()
->
; like.
lambda()
;}}//1.定義乙個函式式介面
inte***ce
ilike
//2.實現類
class
like
implements
ilike
}輸出:
i like lambda
i like lambda2
i like lambda3
i like lambda4
i like lambda5
有引數:
package com.faq.lambda;
public
class
testlambda2
}public
static
void
main
(string[
] args)
} ilove love3 =
newlove()
; love3.
love(3
);ilove love4 =
newilove()
};love4.
love(4
);ilove love5 =
(int a)
->
; love5.
love(5
);}}
inte***ce
ilove
class
love
implements
ilove
}輸出:
i love you--
>
1i love you--
>
2i love you--
>
3i love you--
>
4i love you--
>
5
//lambda表示式簡化
//ilove love5 = (int a)->;
//簡化1 :引數型別,,多個引數型別要去掉就都去掉
ilove love5 =
(a)-
>
;//簡化2:簡化括號
ilove love6 = a-
>
;//簡化3:去掉花括號(只有一行**才可以簡化花括號)
ilove love7 = a-
>system.out.
println
("i love you-->"
+ a)
;
package com.faq.lambda;
public
class
testlambda2
}inte***ce
ilove
輸出:1love2
lambda表示式 寫多執行緒
jdk1.8 中lambda 表示式的出現,基本可以取替原來的匿名類實現多執行緒的方式。下面列舉常用的常用的三種情況。一 普通開啟非同步執行緒 new thread system.out.println aaa start 1 二 執行緒池開啟非同步執行緒 不接收返回引數 public static...
lambda表示式 與 多執行緒賣票
直接獻上簡陋的 具體相關解釋會在注釋中對應給出。學習嚴格按照之前所寫道的 在高內聚低耦合的前提下實現 執行緒 操作 資源類 首先是資源類部分,在資源類中買票的功能內聚 高內聚 class ticket finally public sale a start 名字叫做a的執行緒,並排程執行 之後進行建...
lambda表示式 lambda表示式
1.概述 c 11 中的 lambda 表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda 的語法形式如下 函式物件引數 操作符過載函式引數 mutable 或 exception 宣告 返回值型別可以看到,lambda 主要分為五個部分 函式物件引數 操作符過載函式引數 muta...