java8新特性--Lambda表达式
1、Lambda的特性(行为参数化)
在JDK8之前,Java是不支持函数式编程的,所谓的函数编程,即可理解是将一个函数(也称为“行为”)作为一个参数进行传递。通常我们提及得更多的是面向对象编程,面向对象编程是对数据的抽象(各种各样的POJO类),而函数式编程则是对行为的抽象(将行为作为一个参数进行传递)。
2、认识Lambda表达式
在JDK8的环境下按照Java传统语法规则编写一个线程
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。new Thread(new Runnable() { @Override public void run() { System.out.println("Hello World!"); } });
IDEA会给出提示可以使用Lambda表达式替换
使用Lambda表达式则只需要使用一句话就可代替上面使用匿名类的方式
new Thread(() -> System.out.println("Hello World!"));
3、Lambda表达式的组成
4、Lambda表达式的使用场景
能够接收Lambda表达式的参数类型,是一个只包含一个方法的接口。只包含一个方法的接口称之为“函数接口”。
5、代码示例
无参数,无返回值
package com.coderbuff.custom; public interface FunctionInterface { void test(); } package com.coderbuff.custom; import org.junit.Test; /** * 函数接口测试 */ public class FunctionInterfaceTest { @Test public void testLambda() { func(new FunctionInterface() { @Override public void test() { System.out.println("Hello World!"); } }); //使用Lambda表达式代替上面的匿名内部类 func(() -> System.out.println("Hello World")); } private void func(FunctionInterface functionInterface) { functionInterface.test(); } }
有参数,无返回值
有参数,有返回值

更多精彩