Java 中的泛型函式式介面是什麼?
lambda 表示式無法指定型別引數,因此它不是泛型的。但是,與 lambda 表示式關聯的函式式介面是泛型的。在這種情況下,lambda 表示式的目標型別由宣告函式式介面引用時指定的引數型別確定。
語法
interface SomeFunc {
T func(T t);
}示例
interface MyGeneric<T> {
T compute(T t);
}
public class LambdaGenericFuncInterfaceTest {
public static void main(String args[]) {
MyGeneric<String> reverse = (str) -> { // Lambda Expression
String result = "";
for(int i = str.length()-1; i >= 0; i--)
result += str.charAt(i);
return result;
};
MyGeneric<Integer> factorial = (Integer n) -> { // Lambda Expression
int result = 1;
for(int i=1; i <= n; i++)
result = i * result;
return result;
};
System.out.println(reverse.compute("Lambda Generic Functional Interface"));
System.out.println(factorial.compute(7));
}
}輸出
ecafretnI lanoitcnuF cireneG adbmaL 5040
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP