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