Lambda函数
Java实现匿名函数
- 创建内部接口 LambdaInterface01
- 实现接口LambdaInterface01的方法fun()
- 调用方法
Lambda和Java实现匿名函数的区别
- new LambdaInterface01() 直接简化为()
- 方法名public void fun() 简化为 ->
代码示例
package com.lingyiwin;
/**
* @author lingyiwin
* @version 1.0
* @date 2020/10/21 22:24
*/
public class Lambda01 {
public static void main(String[] args) {
/**
* Java 匿名类的实现方式
*/
LambdaInterface01 lambdaInterface01_java = new LambdaInterface01() {
@Override
public void fun() {
System.out.println("Java 匿名类的实现方式 lambdaInterface01_java");
}
};
//函数调用
lambdaInterface01_java.fun();
/**
* Lambda 函数表达式的实现方式
*/
LambdaInterface01 lambdaInterface01_lambda = ()->{
System.out.println("Lambda 函数表达式的实现方式 lambdaInterface01_lambda");
};
lambdaInterface01_lambda.fun();
}
}
/**
* 内部接口
* 接口内部只有一个方法,称为函数式接口
*/
interface LambdaInterface01{
public void fun();
}
如果大括号中{ 只有一行代码}可以直接将代码写在箭头后面。
public class Lambda02 {
public static void main(String[] args) {
Runnable runnable_java = new Runnable() {
@Override
public void run() {
System.out.println("Java");
}
};
runnable_java.run();
Runnable runnable_lambda01 = () -> {
System.out.println("Lambda01");
};
runnable_lambda01.run();
//如果{只有一行带吗}可以简写为如下:
Runnable runnable_lambda02 = () -> System.out.println("Lambda02");
runnable_lambda02.run();
}
}