Lambda
文章目錄
- 一. 簡介
- 二. 使用效果
- 2.1 未使用 lambda 和 使用 lambda 的區別
- 三. 基本語法
- 四. 函數式接口
一. 簡介
Lambda 是一個匿名函數,我們可以把 Lambda 表達式理解為是一段可以傳遞的代碼(將代碼 像數據一樣進行傳遞)。可以寫出更簡潔、更 靈活的代碼。作為一種更緊湊的代碼風格,使 Java的語言表達能力得到了提升.
二. 使用效果
2.1 未使用 lambda 和 使用 lambda 的區別
/*** 未使用 lambda 表達式*/@Testpublic void test01() {Comparator<Integer> comparator1 = new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return Integer.compare(o1,o2);}};TreeSet set = new TreeSet(comparator1);}/*** 使用 lambda 表達式*/@Testpublic void test02() {// 使用 lambdaComparator<Integer> comparator = (o1,o2) -> Integer.compare(o1,o2);TreeSet set = new TreeSet(comparator);}三. 基本語法
Lambda 表達式在Java 語言中引入了一個新的語法元 素和操作符。這個操作符為 “->” , 該操作符被稱 為 Lambda 操作符或剪頭操作符。它將 Lambda 分為 兩個部分:
左側:指定了 Lambda 表達式需要的所有參數
右側:指定了 Lambda 體,即 Lambda 表達式要執行 的功能。
四. 函數式接口
只包含一個抽象方法的接口,稱為函數式接口。
你可以通過 Lambda 表達式來創建該接口的對象。(若 Lambda
表達式拋出一個受檢異常,那么該異常需要在目標接口的抽象方
法上進行聲明)。
我們可以在任意函數式接口上使用 @FunctionalInterface 注解,
這樣做可以檢查它是否是一個函數式接口,同時 javadoc 也會包含一條聲明,說明這個接口是一個函數式接口。
Lambda 表達式需要"函數式接口"的支持
一個抽象方法不會報錯.
兩個抽象方法編譯報錯.
總結
- 上一篇: 免费获取所有股票5分钟级别及以上的交易数
- 下一篇: (转)手机屏幕VGA QVGA HVGA