专业的JAVA编程教程与资源

网站首页 > java教程 正文

java基础之java8新特性:Lambda表达式

temp10 2024-12-14 15:16:12 java教程 21 ℃ 0 评论

引言:

Lambda表达式,用一句话来说,就是将一段代码作为变量进行处理。该特性扩展了java语言“万物皆对象”的范围,使许多原本类实现能更为优雅。

Lambda表达式理解:

一般,我们看到的Lambda表达式都如下所示:

java基础之java8新特性:Lambda表达式

MyInterface code=(str)->System.out.println(str);

那么,如何理解Lambda表达式呢?请看:

Lambda表达式的还原:

MyInterface code=(str)->System.out.println(str);

步骤1:加上大括号去掉箭头后(只有一行大括号可省略):

MyInterface code=(str){

System.out.println(str);

}

步骤2:加上参数类型(参数类型编译器会自行判断,被省略):

MyInterface code=(String str){

System.out.println(str);

}

步骤3:加上返回类型(返回类型编译器自行判断,被省略):

MyInterface code=void (String str){

System.out.println(str);

}

步骤4:加上函数名称(函数名称无意义,被省略):

MyInterface code=void printString(String str){

System.out.println(str);

}

步骤5:加上函数作用域(作用域无意义,被省略):

MyInterface code=public void printString(String str){

System.out.println(str);

}


功能接口:

MyInterface是功能接口(或者叫函数式接口,只有一个方法的接口),Lambda表达式就是该接口的实现,因此还必须有如下定义,注意@FunctionalInterface注解是用于标识该接口是功能接口,只能有一个方法。

@FunctionalInterface

interface MyInterface{

void printString(String str);

}


Lambda表达式的作用

1.使代码实现更加优雅简洁,如下栗子所示:


实现对比

2.可作为参数传递,简洁明了,如下栗子所示:

有如下方法:

public void strPrint(MyInterface myInterface,String str){

myInterface. printString(str);

}

那么该方法的调用对比如下:


参数方式实现对比

Lambda表达式介绍大致完成。

感兴趣的小伙伴请关注本人公众号:暖爸的java家园

Tags:

猜你喜欢

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表