「这是我参与11月更文挑战的第11天,活动详情查看:2021最后一次更文挑战」
🌊 作者主页:海拥
🌊 作者简介:🥇HDZ核心组成员、🏆全栈领域优质创作者、🥈蝉联C站周榜前十
🌊 粉丝福利:进粉丝群每周送四本书(每位都有),每月抽送各种小礼品(掘金搪瓷杯、抱枕、鼠标垫、马克杯等)
这篇文章我们将讨论关于Java 中的 Lambda 表达式,Lambda 表达式是 Java 涉足函数式编程的过程。它接受参数并将其应用于表达式或代码块。以下是语法的基本示例:
1 | java复制代码(parameter1, parameter2) => expression |
或者
1 | java复制代码(parameter1, parameter2) => {code block} |
Lambda 表达式非常有限,如果它不是 void,则必须立即返回一个值。他们不能使用诸如 if 或 for 之类的关键字来保持简单性。如果需要更多行代码,则可以改用代码块。
现在在实现 lambda 表达式时,不能只使用表达式。Lambda 是函数式接口的实现。函数式接口是只有一个抽象方法的接口。lambda 的好处是它们允许你实现方法而无需实现接口的类和实例化对象。下面是一个例子:
1 | java复制代码interface FuncInterface |
Lambda 表达式通常用作函数的参数。为了提高可读性,你还可以将 lambda 表达式存储在变量中,只要该类型是一个只有一个方法、相同数量的参数和相同返回类型的接口。
1 | java复制代码import java.util.ArrayList; |
lambda 的一个常见用途是创建线程。这是一个使用 lambda 代码块实现 Runnable 对象的示例,供线程执行。
1 | java复制代码// 可运行的 Lambda |
作为初学者,我们大多数人都被教导使用 OOP 概念进行编程,因此使用不同的范式(如函数式编程)可能会有些别扭。我自己仍在学习这些概念中。不管怎样我希望这篇文章能让大家学到一些东西。如果你有更多问题或想深入研究该主题,欢迎评论或者查看下方的资料,我提取的代码示例也来自这里。
参考资料:
www.w3schools.com/java/java_l…
www.geeksforgeeks.org/lambda-expr…
www.developer.com/microsoft/s…
写在最后的
作者立志打造一个拥有100个小游戏的摸鱼网站,更新进度:40/100
我已经写了很长一段时间的技术博客,并且主要通过掘金发表,这是我的一篇关于Java 中的 Lambda 表达式你了解多少。我喜欢通过文章分享技术与快乐。你可以访问我的博客: juejin.cn/user/204034… 以了解更多信息。希望你们会喜欢!😊
💌 欢迎大家在评论区提出意见和建议!💌
本文转载自: 掘金