Java Lambda

Java Lambda教程

在了解lambda表达式之前,我们先理解几个概念,匿名内部类 和匿名函数。在new一个接口或者抽象方法的时候,需要实现里面的抽象函数,这些函数就叫做匿名函数。

Java Lambda详解

语法

接口名 接口对象 = () -> 具体接口里面的方法实现;

参数

参数 描述
接口名 我们定义个接口名称,这个接口比较特殊,只有一个方法
接口对象 接口定义的一个对象
() () 参数列表,如果有参数就填写,没有就为空
-> Lambada操作符或者箭头操作符
具体接口里面的方法实现; 指定了表达式要执行的功能

案例

无参无返回值

Runnable r1 = () -> System.out.println("hello,world");

有参数无返回值

定义一个接口,里面有一个方法,有一个参数没有返回值

package lambda; public interface FunctionInterface { void test(int param); }

定义一个测试类

package lambda; public class TestMain { public static void main(String[] args) { func((x) -> System.out.println("Hello World" + x)); } private static void func(FunctionInterface functionInterface) { int x = 1; functionInterface.test(x); } }

有入参有出参数

定义一个接口,里面有一个方法,有一个参数和有返回值

/** * 定义一个接口 */ package lambda; public interface FunctionInterface { String test(int param); }

定义一个测试类

package lambda; public class TestMain { public static void main(String[] args) { String s = func((x) -> { return "ssss"; }); System.out.println(s); } private static String func(FunctionInterface functionInterface) { int x = 1; return functionInterface.test(x); } }

方法引用

类别 使用形式
静态方法引用 类名 :: 静态方法名
实例方法引用 对象名(引用名) :: 实例方法名
类方法引用 类名 :: 实例方法名
构造方法引用 类名 :: new

Java Lambda总结

Lambda 表达式和我们平时的语法不一样,要掌握 lambda 表达式,我们先要对内部类进行了解,然后再看这些内容的话,就会简单一点。