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)

スクリーンショット 2016-01-07 17.15.30.png

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

广告
将在 10 秒后关闭
bannerAds