标签:介绍 生产 bool 接收 ace 变形 lang target bsp
JDK1.8 中添加了 Lambda表达式,为 Java 添加了确实的函数式编程特性。
Lambda 表达式的类型是函数。但在 Java 中,Lambda 表达式是对像,他们必须依附于一类特别的对象类型——函数式接口。
Lambda 表达式最大的特点是:表示做什么,而非如何做。
函数式接口
举个例子:
定义一个接口,并添加 @FunctionalInterface 注解,声明其为一个函数式接口,该接口不接收参数并返回一个 String 类型的结果
@FunctionalInterface public interface MyInterface { String test(); default String getMe() { return "This is me"; } }
测试接口,打印 1 到 10
public class MyTest { public String testMyInterface(MyInterface myInterface) { return "MyInterface accumulate result is: " + myInterface.test(); } public static void main(String[] args) { MyTest myTest = new MyTest(); String string = myTest.testMyInterface(() -> { String str = ""; for (int i = 1; i < 10; i++) str += i + ","; return str; }); System.out.println(string); } }
关于函数式接口的声明有如下几个注意点
java.util.function 包中几个主要的接口
标签:介绍 生产 bool 接收 ace 变形 lang target bsp
原文地址:https://www.cnblogs.com/flying-snake/p/11516587.html