JAVA中Lambda表达式与函数式接口怎么用
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要为大家展示了"JAVA中Lambda表达式与函数式接口怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"JAVA中Lambda表达式与函数式
千家信息网最后更新 2025年11月07日JAVA中Lambda表达式与函数式接口怎么用
这篇文章主要为大家展示了"JAVA中Lambda表达式与函数式接口怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"JAVA中Lambda表达式与函数式接口怎么用"这篇文章吧。
Lambda表达式的诞生是为了解决JAVA创建匿名内部类代码冗余的问题。例子如下:
public class Lambda { public static void main(String[] args) { Gog gog = new Gog() { @Override public void say() { System.out.println("WOW"); } }; gog.say(); }}interface Gog { void say();}这里我们想实现接口的say方法,由于实例化接口会创建匿名内部类,需要将接口中的所有方法实现。为了实现一个简单的方法冗余了许多代码出来。那么如果用Lambda 表达式去简化呢。例子如下:
public class Lambda { public static void main(String[] args) { //Lambda表达式的写法即: ()-> {函数实现} 当函数实现只有一行代码时,可以省略大括号 如下所示: Gog gog = () -> System.out.println("WOW"); gog.say(); }}interface Gog { void say();}只包含一个抽象方法的接口称为函数式接口。而也只有函数式接口可以利用Lambda 表达式进行简化。其实原因很简单。如果接口中有多个方法,Lambda表达式将无法明确调用的是那个函数。
而根据抽象函数的返回值与参数列表,函数式接口可以简单的分为以下4种类型:
//1.供给型接口:Interface Supplier没有参数,有返回值interface Supplier { String say();}//2.消费型接口:Interface Consumer 只有输入,没有返回值interface Consumer{ void say(String name);}//3.断定型接口:Interface Predicate 传入参数t,返回值类型为boolean类型interface Predicate{ boolean say(String name);}//4.函数型接口:Interface Function 传入参数类型为T,返回值类型为Rinterface Function{ String say(int age);}
举几个我们身边中常用到的Lambda函数
public class MyThread { public static void main(String[] args) { new Thread(() -> { System.out.println("创建线程"); }).start(); }}如上代码大家必然很熟悉,一个很简单的创建线程的方法。我们进入Thread对应的构造函数看看。
可以看到,我们调用的构造函数的入参是Runnable接口,而我们在看看我们创建的时候,明明使用的是Lambda 表达式,那么可以断定,Runnable接口必定是一个函数式接口

注意!!由于jdk8之后,接口中的函数可以拥有默认实现,这种拥有默认实现的方法,并不会影响这个接口成为函数式接口。例子如下:
public class Lambda { public static void main(String[] args) { Supplier supplier = ()-> "wow"; System.out.println(supplier.say()); }}interface Supplier { String say(); default String name(){ return ""; }}Supplier 接口中有两个函数,但是依然可以成为函数式接口,利用Lambda 表达式进行简化。
以上是"JAVA中Lambda表达式与函数式接口怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
接口
函数
表达式
方法
类型
代码
参数
例子
内容
只有
篇文章
冗余
线程
学习
帮助
中常
一行
两个
会创
写法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云端数据库连接手机
重庆常规软件开发创新服务
医务系统数据库安全技术
网络安全查多系统
美的高管办的软件开发公司
计算机网络技术第七版笔记
数据库数据的存取路径
昆明中通服网络技术有限公司
肥东参考网络技术咨询介绍
天津数据库安全箱生产厂家
苹果电脑登陆云服务器
中国广电网络安全平台
广东广州软件开发公司
衡阳游戏软件开发收费
软件开发摘要
公共无线网络安全隐患
wind数据库股票价格
魔兽世界内部数据库收不到钱
太仓品牌网络技术有哪些
渔业对数据库技术应用
软件开发员需要什么能力
zte机顶盒刷机怎么连接服务器
视频软件开发框架
海宁软件开发定制
洛克王国服务器大全
软件开发标准的书籍
网络安全 sql注入
新三板网络安全龙头
u盘扫描后怎么恢复数据库
机架式服务器更换内存条