Java 中 Lambda 表示式中形式引數的規則是什麼?
Lambda 表示式類似於具有**引數**、**主體**和**返回型別**的方法。它也可以稱為**匿名函式**(沒有名稱的方法)。
在 Lambda 表示式中使用形式引數時,我們需要遵循一些規則。
- 如果函式介面的抽象方法是**零引數**方法,則箭頭 (->) 的**左側**必須使用**空括號**。
- 如果函式介面的抽象方法是**單引數**方法,則**括號**不是必須的。
- 如果函式介面的抽象方法是**多引數**方法,則**括號**是必須的。形式引數是**逗號分隔**的,並且可以與相應的函式介面中的順序相同。
- 提及**形式引數**的型別不是必須的。如果我們沒有提及形式引數的型別,則編譯器可以從相應的**目標型別**確定其型別。
示例
interface Message {
String hello(String message, String name, Gender gender);
}
enum Gender {
MALE, FEMALE
}
public class LambdaFormalParameterTest {
public static void main(String args[]) {
Message message = (String msg, String name, Gender gender) -> { // lambda expression
if(gender == Gender.MALE) {
return "Hello Mr " + name + ", " + msg;
} else {
return "Hello Ms " + name + ", " + msg;
}
};
System.out.println(message.hello("Good Morning!!!", "Adithya", Gender.MALE));
System.out.println(message.hello("Good Morning!!!", "Ambica", Gender.FEMALE));
}
}輸出
Hello Mr Adithya, Good Morning!!! Hello Ms Ambica, Good Morning!!!
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP