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