Java基础学习之函数式编程Comsumer接口(JDK8)

本文探讨了Java8中Consumer接口在函数式编程和Lambda表达式中的作用,详细介绍了Consumer如何影响集合操作,特别是`forEach`方法的使用。通过方法引用和lambda表达式的示例,解释了Consumer如何简化匿名内部类的创建。此外,文章还讲解了@FunctionalInterface注解、函数式接口的概念以及Consumer接口中的andThen方法,强调了Consumer在处理数据(如日志打印和数据库操作)时的应用。
摘要由CSDN通过智能技术生成

前言

        从毕业到现在正好三年,高难度的项目做了不少,但是基础这个东西一段时间不接触就会忘得一干二净。话不多说,开始今天的学习!

1. Consumer接口

      接触过“消费者”,“生产者”模式的同学,肯定对这个单词不陌生,在java8函数式编程和lambda表达式加入之后,这个接口直接深入的影响了之前的集合,JAVA8中Iterable的源代码如下:

package java.lang;

import java.util.Iterator;
import java.util.Objects;
import java.util.Spliterator;
import java.util.Spliterators;
import java.util.function.Consumer;

public interface Iterable<T> {
    Iterator<T> iterator();

    default void forEach(Consumer<? super T> var1) {
        Objects.requireNonNull(var1);
        Iterator var2 = this.iterator();

        while(var2.hasNext()) {
            Object var3 = var2.next();
            var1.accept(var3);
        }

    }

    default Spliterator<T> spliterator() {
        return Spliterators.spliteratorUnknownSize(this.iterator(), 0);
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值