假设你的办公室离家约 10 英里,你早上要 8 点出门上班。中午,你有短暂的时间用午饭,但出于健康考虑,你更喜欢吃家里烹饪的饭菜。因为休息时间很短,只有在离家时带上午饭,你才能吃上家里的饭菜。这形象地描绘出了闭包要完成的任务:它们携带本身的午饭(状态)。html
在 Java 编程中,咱们以不严格地使用术语 lambda 表达式 来表示 lambda 表达式和闭包。但在某些状况下,理解它们的区别很是重要。lambda 表达式是无状态的,而闭包是带有状态的。闭包依赖于本身的词法范围获取一些变量。所以,它能够捕获并携带状态。java
将 lambda 表达式替换为闭包,是一种管理函数式程序中的状态的好方法。编程
点击 连接 get 完整文章,一块儿学习如何使用闭包捕获和携带状态。技能飞速攀升,才华更出众!闭包