JAVA 的 Lambda 表达式
即时创建一个函数
可以将Lambda表达式传递给变量中赋值有函数式接口(只定义了一个抽象方法的接口)的位置。
从外观上看,可以说匿名内部类是一种能够简洁地描述的语法。
■ Lambda表达式的语法
(参数类型1 参数名1,参数类型2 参数名2,…) -> {
处理1;
处理2;
:
return 返回值;
}
当JVM对Lambda表达式进行评估时,函数的实体被生成并转化为指向该实体的引用(函数对象)。
Lambda.java的中文释义是▪️函数式接口。
import java.util.function.*;
public class Lambda {
public static void main(String[] args) {
IntBinaryOperator func = (int a, int b) -> {
return a - b;
};
System.out.println(func.applyAsInt(12, 7));
}
}
Lambda.java的执行结果为5。
▪️Test85.java:对于Test85.java文件,仅需要提供一个选项
import java.util.function.*;
public class Test85 {
public static void main(String[] args) {
IntToDoubleFunction func = (int x) -> {
return x * x * 3.14;
};
System.out.println(func.applyAsDouble(30));
IntSupplier iii = () -> {
return 2;
};
System.out.println(iii.getAsInt());
IntPredicate ip = (int i) -> {
return true;
};
System.out.println(ip.test(2));
}
}
▪️Test85.java执行结果
2826.0
2
true
▪️Test88.java -> 测试88.java
import java.util.function.*;
public class Test88 {
public static void main(String[] args) {
IntBinaryOperator func = (int a, int b) -> {
return a - b;
};
System.out.println(func.applyAsInt(10, 4));
}
}
▪️”Test88.java的执行结果为6″ (The execution result of Test88.java is 6)

E … 元素 (在Java的集合框架中广泛使用)
K … 键
N … 数字
T … 类型
V … 值
S、U、V等 … 第2、3、4个类型