CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 函数式接口:Predicate, Consumer, Supplier, Function

    JAVA 25 SELF
    等级 49,课时 0
    讲解包 java.util.function 中的关键函数式接口: Predicate、 Consumer、 Supplier、 Function——它们的输入/输出以及在 Stream API 中的应用( filter、 map、 forEach、 generate)。回顾“恰好一个抽象方法”的规则与注解 @FunctionalInterface,编写 lambda,比较匿名类,并用 User 类的示例进行练习,分析在 Predicate/ Function 等之间选择时的常见错误。
    可用
  • 函数组合:compose, andThen

    JAVA 25 SELF
    等级 49,课时 1
    这节课讲的是如何使用 Function 及其方法 compose 和 andThen,把小函数拼装成转换管道。我们将梳理调用顺序、类型兼容性,给出 Predicate( and、 or、 negate)、 Consumer( andThen)的示例,搭建实用的管道,并讨论常见错误:顺序混淆( f.compose(g) vs f.andThen(g))、类型不匹配,以及“面条式”的长链。你将学会使用 apply、 test、 accept,并构建可读、可复用的转换。
    可用
  • 将函数作为参数传递:示例

    JAVA 25 SELF
    等级 49,课时 2
    对在 Java 中传递“行为”的实用入门:如何将 lambda 表达式 ( ->) 和方法引用 ( ::) 与 Stream API 与集合一起使用。我们将梳理 java.util.function 中的标准函数式接口—— Comparator、 Predicate、 Function、 Consumer、 Supplier——学会编写通用方法,把行为作为参数传入,并避免常见错误。还会通过 Stream、 Optional 和自定义的列表处理工具来练习。
    可用
  • 使用 Stream API 的函数式风格

    JAVA 25 SELF
    等级 49,课时 3
    从命令式循环过渡到声明式的数据处理“流水线”,借助 Stream API:解析中间与终端操作、惰性求值、通过 toList()/ collect 收集结果,关键操作 map、 filter、 sorted、 flatMap、 reduce,以及 anyMatch/ allMatch/ noneMatch 等检查。我们将比较命令式与函数式风格,分析实用示例与常见错误,包括在收集集合时不合时宜的 forEach 以及过早使用 parallelStream()。
    可用
  • 函数式编程中的常见错误解析

    JAVA 25 SELF
    等级 49,课时 4
    在 Java 中使用 lambda 和 Stream API 时最常见的 10 个错误:变量捕获( final/ effectively final)、lambda 中 this 的行为、副作用与并行( parallelStream())、类型推断与 generics、处理 null 和 Optional、函数组合( compose/ andThen),以及受检异常(例如 IOException)。我们展示安全做法:使用 Objects::nonNull 进行过滤、使用终端操作( sum()、 collect(...))、采用线程安全集合,并将过长的链式调用拆解。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym