日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JDK 8 新特性 之 Lambda表达式

發(fā)布時間:2023/12/10 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDK 8 新特性 之 Lambda表达式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言


  • Lambda 表達式,也可稱為閉包,它是推動 Java 8 發(fā)布的最重要新特性。
  • Lambda 允許把函數(shù)作為參數(shù)傳遞進方法中。
  • 使用 Lambda 表達式可以使代碼變的更加簡潔緊湊。
  • lambda表達式的重要特征:
  • 可選類型聲明:不需要聲明參數(shù)類型,編譯器可以統(tǒng)一識別參數(shù)值。
  • 可選的參數(shù)圓括號:一個參數(shù)無需定義圓括號,但多個參數(shù)需要定義圓括號。
  • 可選的大括號:如果主體包含了一個語句,就不需要使用大括號。
  • 可選的返回關(guān)鍵字:如果主體只有一個表達式返回值則編譯器會自動返回值,大括號需要指定明表達式返回了一個數(shù)值。

JDK8 之前調(diào)用接口的方式是通過匿名內(nèi)部類,調(diào)用接口中的方法。
@FunctionalInterface public interface FunctionInterface {void get(); }public class FunctionTest {public static void main(String[] args) {FunctionInterface functionInterface = new FunctionInterface() {@Overridepublic void get() {System.out.println("get方法");}};functionInterface.get();} }
使用Lambda表達式調(diào)用接口中的方法
@FunctionalInterface public interface FunctionInterface {void get(); }public class FunctionTest {public static void main(String[] args) {FunctionInterface ft = () -> {System.out.println("JDK8 Lambda表達式調(diào)用:get方法");};ft.get();} }

() : 表示抽象方法所需的參數(shù)列表,(參數(shù)1,參數(shù)2)
-> : 固定格式
{} :表示抽象方法的方法體

有返回值的Lambda表達式調(diào)用方法
@FunctionalInterface public interface FunctionInterface2 {String get(); } public class FunctionTest {public static void main(String[] args) {FunctionInterface2 functionInterface2 = () -> {return "有返回值的Lambda表達式調(diào)用方法";};System.out.println(functionInterface2.get());/*** 優(yōu)化:有返回值的Lambda表達式調(diào)用方法*/FunctionInterface2 functionInterface3 = () -> "優(yōu)化:有返回值的Lambda表達式調(diào)用方法";System.out.println(functionInterface3.get());} }
有參數(shù),有返回值的Lambda表達式調(diào)用方法
@FunctionalInterface public interface FunctionInterface3 {String get(String s); } public class FunctionTest {public static void main(String[] args) {FunctionInterface3 ft3 = (String s)-> s;System.out.println(ft3.get("有參數(shù),有返回值的Lambda表達式調(diào)用方法"));} } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的JDK 8 新特性 之 Lambda表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。