【JDK 8-函数式编程】4.3 Consumer

[一、Consumer 接口](#一、Consumer 接口)

二、使用

[Stage 1: 创建方法,实现 Consumer 接口](#Stage 1: 创建方法,实现 Consumer 接口)

[Stage 2: 调用方法](#Stage 2: 调用方法)

[Stage 3: 执行结果](#Stage 3: 执行结果)

[三、List 的 foreach](#三、List 的 foreach)

执行结果


一、Consumer 接口

  • 消费型接口 : 将T作为输入,无返回值

  • **调用方法 :**void accept(T t);

  • **用途 :**因为没有出参,常用于打印、发送短信等消费动作

  • 典型应用,集合的 foreach

java 复制代码
/**
 *
 * @param <T> the type of the input to the operation
 */
@FunctionalInterface
public interface Consumer<T> {
    void accept(T t);
}

二、使用

Stage 1: 创建方法,实现 Consumer 接口

java 复制代码
    public static void sendMsg(String phone, Consumer<String> consumer) {
        consumer.accept(phone);
    }

Stage 2: 调用方法

java 复制代码
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;

@Slf4j
public class ConsumerFunc {
    public static void main(String[] args) {
        Consumer<String> consumer = obj -> {
            log.info(obj);
            log.info("调用短信接口、发送短信、打印日志等");
        };
        sendMsg("134XXXXXXXX", consumer);

    }

    public static void sendMsg(String phone, Consumer<String> consumer) {
        consumer.accept(phone);
    }
}

Stage 3: 执行结果

三、List 的 foreach

java 复制代码
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;

@Slf4j
public class ConsumerFunc {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("aaa", "bbb", "ccc", "ddd");
        list.forEach(s -> log.info(s));

    }
}

执行结果

相关推荐
杰瑞不懂代码2 分钟前
基于 MATLAB 的 AM/DSB-SC/VSB 模拟调制与解调仿真及性能对比研究
开发语言·matlab·语音识别·am·dsb-sc·vsb
霁月的小屋9 分钟前
从Vue3与Vite的区别切入:详解Props校验与组件实例
开发语言·前端·javascript·vue.js
益达32114 分钟前
JDBC实战优化|从基础增删改查到连接池的完整演进(附性能对比)
java·intellij-idea
趣知岛17 分钟前
初识DeepSeek
开发语言·人工智能·deepseek
有一个好名字17 分钟前
Spring Boot 依赖注入指南:多种方式深度剖析与代码演示
java·服务器·spring boot
superman超哥19 分钟前
仓颉编译器优化揭秘:尾递归优化的原理与实践艺术
开发语言·后端·仓颉编程语言·仓颉·仓颉语言·尾递归·仓颉编译器
lkbhua莱克瓦2422 分钟前
基础-SQL-DML
开发语言·数据库·笔记·sql·mysql
独自破碎E24 分钟前
说一下消息队列有哪些模型
java·开发语言
saber_andlibert26 分钟前
【C++转GO】初阶知识
开发语言·c++·golang
峥嵘life27 分钟前
2026 Android EDLA 认证相关资源网址汇总(持续更新)
android·java·学习