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

一、Consumer 接口

二、使用

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

Stage 2: 调用方法

Stage 3: 执行结果

三、List 的 foreach

执行结果


一、Consumer 接口

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

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

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

  • 典型应用,集合的 foreach

/**
 *
 * @param  the type of the input to the operation
 */
@FunctionalInterface
public interface Consumer {
    void accept(T t);
}

二、使用

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

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

Stage 2: 调用方法

import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;

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

    }

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

Stage 3: 执行结果

【JDK 8-函数式编程】4.3 Consumer_第1张图片

三、List 的 foreach

import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;

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

    }
}

执行结果

【JDK 8-函数式编程】4.3 Consumer_第2张图片

你可能感兴趣的:(架构师之路-java,java,开发语言)