Java技术分享:Lambda表达式之接口实例化
今天小千給大家分享的技術(shù)是:Lambda表達(dá)式之接口實(shí)例化。
Lambda表達(dá)式是Java SE 8中一個(gè)重要的新特性。lambda表達(dá)式允許你通過表達(dá)式來代替功能接口。 lambda表達(dá)式就和方法一樣,它提供了一個(gè)正常的參數(shù)列表和一個(gè)使用這些參數(shù)的主體(body,可以是一個(gè)表達(dá)式或一個(gè)代碼塊)。
Lambda表達(dá)式還增強(qiáng)了集合庫。 Java SE 8添加了2個(gè)對集合數(shù)據(jù)進(jìn)行批量操作的包: java.util.function 包以及java.util.stream 包。 流(stream)就如同迭代器(iterator),但附加了許多額外的功能。 總的來說,lambda表達(dá)式和 stream 是自Java語言添加泛型(Generics)和注解(annotation)以來最大的變化。
語法格式:
(參數(shù))->{語句塊}
其中只有一個(gè)參數(shù)的化()可以省略
Lambda表達(dá)式可以實(shí)現(xiàn)的操作:
1、完成接口的實(shí)例化或抽象類的實(shí)例化
比如我們線程的創(chuàng)建:
之前都是這樣創(chuàng)建的:
Public class My_Main
{
Public static void main(String[] args){
New Thread(new Runnable(){
Public void run(){
System.out.print(“子線程輸出”);
}
}).start();
}
}
可是使用Lambda表達(dá)式卻可以這樣寫:
Public class My_Main2
{
Public static void main(String[] args){
New Thread(()->System.out.print(“子線程輸出”)).start();
}
}
看起來Lambda表達(dá)式是不是很簡潔。
再例如:
自定義一個(gè)接口,接口中有一個(gè)方法
public interface AAction {
void work(String name);
}
創(chuàng)建類進(jìn)行測試
public class My_Main {
private static void t1(AAction aAction){
aAction.work(“張三”);
}
public static void main(String[] args) {
t1((n)-> System.out.println(n+" 正在千鋒學(xué)習(xí)呢"));
}
}
總結(jié):Lambda表達(dá)式實(shí)現(xiàn)接口的實(shí)例化要求接口中只能有一個(gè)方法。如果有多個(gè)方法就不好推斷。
本文來自千鋒教育,轉(zhuǎn)載請注明出處。
總結(jié)
以上是生活随笔為你收集整理的Java技术分享:Lambda表达式之接口实例化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java教程:影响MySQL性能的配置参
- 下一篇: Java培训学习笔记分享:SpringM