AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题
课时
评论
关于我们
开始
开始学习
立即开始学习
我的进度
课程
任务地图
课程
Java 25
Java 25
级别 48
Lambda 表达式:语法与作用域
JAVA 25 SELF
等级 48,
课时 0
复习并深入理解 Java 中的 Lambda 表达式:语法(参数、箭头
->
、主体),省略括号与
return
的简写形式,与函数式接口(
Comparator
、
Runnable
、
Consumer
)的关系,以及关于列表、流和
Stream API
的日常示例。讲解作用域与“有效
final
”规则,Lambda 与匿名类中
this
的差异,以及常见错误与规避方法。
在集合与流(Stream)中使用 Lambda
JAVA 25 SELF
等级 48,
课时 1
在集合和
Stream API
中实践 Lambda 表达式:如何用精炼的 Lambda 替换匿名类,使用集合的方法(
forEach
、
removeIf
、
sort
、
replaceAll
),并搭建数据处理流水线(
stream
→
filter
→
map
→
sorted
→
collect
)。我们将与匿名类进行对比,讨论“有效的
final
”(effectively final)变量,给出主要操作的对照表,并分析常见错误。
Lambda 表达式的优缺点
JAVA 25 SELF
等级 48,
课时 2
在本讲中,我们讨论 Java 为什么引入了 Lambda 表达式:简洁与可读性、将行为作为参数传递、与集合及
Stream
API(
filter
、
map
、
forEach
)的集成、对“有效”
final
变量的捕获,以及通过运算符
->
编写回调的便捷方式。与此同时,我们也会看看潜在的陷阱:调试长链、重载的歧义(
Runnable
vs
Callable
)、闭包限制、序列化以及嵌套的 Lambda。最后——何时使用 Lambda 的实用建议与常见错误解析。
Java 中的闭包(closure):要点
JAVA 25 SELF
等级 48,
课时 3
本讲将讲解什么是闭包以及它在 Java 中如何工作:lambda 和匿名类如何“捕获”外部变量,为什么局部变量必须是
final
或“有效 final”,捕获局部变量与访问类字段有何不同,以及
this
在 lambda 与匿名类中的行为。我们将展示使用
IntSupplier
的函数工厂,解析捕获的内部实现和常见错误(例如编译器消息
Variable used in lambda expression should be final or effectively final
)。
匿名类:与 Lambda 的区别与示例
JAVA 25 SELF
等级 48,
课时 4
在本讲座中,我们将讲解什么是 Java 中的匿名类,它与 Lambda 表达式有何不同:语法、能力(字段、附加方法、重写
toString
/
equals
)、作用域与
this
的行为、变量捕获(仅限
final
/“有效 final”)。展示了基于
Runnable
、
Comparator
、
Predicate
的实践示例,并给出建议——何时选择 Lambda,何时选择匿名类。
Please enable JavaScript to continue using this application.